1. 程式人生 > 程式設計 >jQuery實現增刪改查

jQuery實現增刪改查

本文例項為大家分享了jQuery實現增刪改查的具體程式碼,供大家參考,具體內容如下

  • jquery用的是1.11版本
  • css就用bootstrap吧
  • 因為增和改用了模態框修改,所以還用了bootstrap.js實現模態框的彈出和關閉

做了個簡單的表格來實現功能

HTML程式碼段

//表格
<div class="container" style="padding-top: 40px;">
  <div class="form-group">
  <div class="row">
   <div class="col-md-8">
   <input type="text" class="form-control swich" />
   </div>
   <div class="col-md-3">
   <button class="btn btn-danger sreach">搜尋</button>
   <button class="btn btn-default add" data-toggle="modal" data-target="#myModel">增加</button>
   </div>
  </div>
  </div>
  <table class="table table-bordered text-center">
  <tr>
   <td>編號</td>
   <td>姓名</td>
   <td>成績</td>
   <td>操作</td>
  </tr>
  <tr>
   <td>1</td>
   <td>張三</td>
   <td>89</td>
   <td>
   <button class="btn btn-primary rev" data-toggle="modal" data-target="#myModal">修改</button>
   <button class="btn btn-danger del">刪除</button>
   </td>
  </tr>
  <tr>
   <td>2</td>
   <td>李四</td>
   <td>91</td>
   <td>
   <button class="btn btn-primary rev" data-toggle="modal" data-target="#myModal">修改</button>
   <button class="btn btn-danger del">刪除</button>
   </td>
  </tr>
  <tr>
   <td>3</td>
   <td>劉一</td>
   <td>80</td>
   <td>
   <button class="btn btn-primary rev" data-toggle="modal" data-target="#myModal">修改</button>
   <button class="btn btn-danger del">刪除</button>
   </td>
  </tr>
  </table>
 </div>
    //修改的模態框
 <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
  <div class="modal-content">
   <div class="modal-header">
   <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
   <h4 class="modal-title" id="myModalLabel">修改資訊</h4>
   </div>
   <div class="modal-body">
   <form>
    <div class="form-group">
    <input type="text" placeholder="編號" id="reusrnum" class="form-control" />
    </div>
    <div class="form-group">
    <input type="text" placeholder="名字" id="reusrname" class="form-control" />
    </div>
    <div class="form-group">
    <input type="text" placeholder="成績" class="form-control" id="rescore" />
    </div>
   </form>
 
   </div>
   <div class="modal-footer">
   <button type="button" class="btn btn-default" data-dismiss="modal">關閉</button>
   <button type="button" class="btn btn-primary olk" data-dismiss="modal">提交更改</button>
   </div>
  </div>
  <!-- /.modal-content -->
  </div>
  <!-- /.modal -->
 </div>
 //增加的模態框
 <div class="modal fade" id="myModel" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
  <div class="modal-content">
   <div class="modal-header">
   <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
   <h4 class="modal-title" id="myModalLabel">增加資訊</h4>
   </div>
   <div class="modal-body">
   <form>
    <div class="form-group">
    <input type="text" placeholder="編號" id="reusrnum" class="form-control" />
    </div>
    <div class="form-group">
    <input type="text" placeholder="名字" id="reusrname" class="form-control" />
    </div>
    <div class="form-group">
    <input type="text" placeholder="成績" class="form-control" id="rescore" />
    </div>
   </form>
 
   </div>
   <div class="modal-footer">
   <button type="button" class="btn btn-default" data-dismiss="modal">關閉</button>
   <button type="button" class="btn btn-primary aad" data-dismiss="modal">增加資訊</button>
   </div>
  </div>
  <!-- /.modal-content -->
  </div>
  <!-- /.modal -->
</div>

Jquery程式碼段

<script>
  //刪除的功能
  $(document).on("click",".del",function() {
  $(this).parents("tr").remove()
  })
  //改的功能
  var _this = null
  $(document).on("click",".rev",function() {
  var _arr = []
  _this = $(this).parents("tr")
  $(this).parents("tr").find("td:not(:last)").each(function(){
   _arr.push($(this).text())
  })
  $("#myModal").find("input").each(function(i){
   $(this).val(_arr[i])
  })
  })
  
  $(document).on("click",".olk",function(){
  var _arr = []
  $("#myModal").find("input").each(function(){
   _arr.push($(this).val())
  })
  _this.find("td:not(:last)").each(function(i){
   $(this).text(_arr[i])
  })  
  })
  //增加的功能
  $(document).on("click",".aad",function(){
  var _arr = []
  var str = ""
  $("#myModel").find("input").each(function(){
   _arr.push($(this).val())
   
  })
  
  str = '<tr><td>'+_arr[0]+'</td><td>'+_arr[1]+'</td><td>'+_arr[2]+'</td><td><button class="btn btn-primary rev" data-toggle="modal" data-target="#myModal">修改</button> <button class="btn btn-danger del">刪除</button></td></tr>'
  $(".table").append(str)
  
  })
  //查的功能
  $(".sreach").click(function(){
  var oS = $(".swich").val()
  if(oS.length==0){
   alert("請輸入點東西")
   }else if($("table tr td:contains('"+oS+"')").length==0){
   alert("找不到資料")
   }else{
   $(".table tr:not(:first)").hide()
   $(".table tr:contains('"+oS+"')").show().find("input").prop("checked",true)
   }
 
  })
</script>

ps:新人,class的命名有點不規範...將就看著吧

解說思路

ps:要記得物件快取 _this = $(this).null

1.實現刪的功能

首先準確地找到當前按鈕的父級元素tr,然後remove()掉就實現了刪的功能

2.實現改的功能

這裡先做了個數組來儲存已有的資訊, 用遍歷的方法each()放進陣列,陣列的資料再push()進模態框的input框val()可進行顯示

點選模態框的確認按鈕才能實現更改,所以又要重新將已更改的input框的val()重新遍歷進另外的一個數組進行儲存,再push()進表格就實現更改的更改了

3.實現增的功能

增加的功能也用了模態框來採集資料,所以也用一個數組來儲存資料,將已採集的input框val()遍歷進陣列,建立一個命名為str的dom節點,用陣列下標來插入要追加的dom節點,增加的功能就實現了

4.實現查的功能

首先要獲取搜尋框裡val(), 判斷搜尋框的長度是否為0,假如是0就彈出“請輸入點東西”,再用contains()方法判斷搜尋框的內容在表格裡的有沒有,沒有就彈出“找不到資料”,再或者搜素框的內容在表格裡有就把除了第一行的資料hide(),將表格裡有和val()一樣的tr show()出來

整個table的增刪改查的功能就實現啦。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。