分享

利用jquery实现动态表格的相关操作以及列表全选功能

 程序猿130 2017-08-04

通过jQuery来,动态创建表格,增加,以及 删除某一行,以及全选,取消全选,删除选中行等操作,加强jquery 操作dom 对象的能力


页面代码

  1. <body>  
  2. <h2 align="center">jquery 实现动态表格的创建及列表全选等操作</h2>  
  3. <div align="center">  
  4. 编号:<input id="tId" type="text" />  
  5. 名称:<input id="name" type="text" />  
  6. 价格:<input id="price" type="text" />  
  7. <input id="add" type="button" value="添加" />  
  8. <br />  
  9. <br />  
  10. </div>  
  11. <table id="tab" width="80%" align="center" cellspacing="0" border="1" bordercolor="#a0c6e5">  
  12.     <tbody id="tbody">  
  13.         <tr align="center">  
  14.             <td><input type="checkbox" /></td>  
  15.             <td>编号</td>  
  16.             <td>名称</td>  
  17.             <td>价格</td>  
  18.             <td>操作</td>  
  19.         </tr>  
  20.         <tr align="center">  
  21.             <td><input type="checkbox" /></td>  
  22.             <td>001</td>  
  23.             <td>java</td>  
  24.             <td>36.5</td>  
  25.             <td><input type="button" value="delete"></td>  
  26.         </tr>  
  27.     </tbody>  
  28. </table>  
  29. <br>  
  30. <br>  
  31.   
  32. <div align="center">  
  33. <input id="selectAll" type="button" value="全选" />  
  34. <input id="cancelSelect" type="button" value="取消选中" />  
  35. <input id="deleteSelect" type="button" value="删除选中" />  
  36. <br />  
  37. <br />  
  38. </div>  
  39. </body>  

js 代码

[javascript] view plain copy
  1. <script type="text/javascript" src="./js/jquery-1.6.4.js"></script>  
  2. <script type="text/javascript">  
  3.     $(function(){  
  4.         $("#add").click(function(){ //为 按钮添加事件  
  5.             //获取值  
  6.             var tId = $("#tId").val();  
  7.             var name = $("#name").val();  
  8.             var price = $("#price").val();  
  9.               
  10.             // 创建 td 对象 并将相应的值插入  
  11.             var cbTd = $("<td><input type='checkbox' /></td>");  
  12.             var idTd = $("<td></td>").text(tId);  
  13.             var nameTd = $("<td></td>").text(name);  
  14.             var priceTd = $("<td></td>").append(price);  
  15.             var acTd = $("<td><input type='button' value='delete' /></td>");  
  16.               
  17.             //创建 tr 对象将td 对象放入 tr, 再将tr 加入 tbody  
  18.             var tr = $("<tr></tr>").append(cbTd).append(idTd).append(nameTd).append(priceTd).append(acTd).attr("align","center");  
  19.             $("#tbody").append(tr);  
  20.         });  
  21.           
  22.         //对 每个删除按钮绑定 删除事件  
  23.         //  这种 将一组 对象 后加 click 事件,只能将原有的 对象绑定上 事件, 新添加的绑定不了 需要 使用 live/on 方法  
  24.         /*   
  25.         $("input[value='delete']").click(function(){ 
  26.             $(this).parent().parent().remove();  
  27.          }); 
  28.         */  
  29.         //  js 1.9 已经将 live 换位 on  
  30.          $("input[value='delete']").live("click",function(){  
  31.                 $(this).parent().parent().remove();  
  32.             });  
  33.           
  34.         //全选  
  35.         $("#selectAll").click(function(){  
  36.             $("input[type='checkbox']").attr("checked",true);  
  37.         });  
  38.           
  39.         //取消全选  
  40.         $("#cancelSelect").click(function(){  
  41.             $("input[type='checkbox']:checked").attr("checked",false);  
  42.         });  
  43.           
  44.         //删除选中  
  45.         /* 1. 
  46.         $("#deleteSelect").click(function(){ 
  47.             $("input[type='checkbox']:checked").parent().parent().remove(); 
  48.         }); 
  49.         */  
  50.         //2. 遍历  
  51.         $("#deleteSelect").click(function(){  
  52.             var chks = $("input[type='checkbox']:checked");  
  53.             $.each(chks,function(i,ck){  
  54.                 $(ck).parent().parent().remove();  
  55.             })  
  56.         });  
  57.     });  
  58. </script>  

效果图:



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约