運行效果:
1.list.html
說明:用checkbox數組Check[]存放每一行的ID值
1 <div id="con"> 2 <table width="100%" cellspacing="1" cellpadding="0"> 3 <tr> 4 <th><input id="CheckAll" name='CheckAll' type='checkbox'></th> 5 <th>ID</th> 6 <th>Name</th> 7 <th>Date</th> 8 </tr> 9 <tr> 10 <td><input id='Check[]' name='Check[]' type='checkbox' value="1"></td> 11 <td>10001</td> 12 <td>XXX</td> 13 <td>2015-12-01</td> 14 </tr> 15 <tr> 16 <td><input id='Check[]' name='Check[]' type='checkbox' value="2"></td> 17 <td>10002</td> 18 <td>XXX</td> 19 <td>2015-12-02</td> 20 </tr> 21 <tr> 22 <td><input id='Check[]' name='Check[]' type='checkbox' value="3"></td> 23 <td>10003</td> 24 <td>XXX</td> 25 <td>2015-12-03</td> 26 </tr> 27 </table> 28 <div id="bottom"> 29 <input id="Delete" name="Delete" type="button" value=" 刪 除 " class="btn btn-danger radius"/> 30 </div> 31 </div>
2.功能:全選/全不選
說明:如果需要這里還可以根據選擇結果顯示/隱藏【刪除】等按鈕
1 //全選/全不選 2 $("#CheckAll").bind("click",function(){ 3 $("input[name='Check[]']").prop("checked",this.checked); 4 //顯示刪除按鈕 5 /*if(this.checked == true){ 6 $("input[name='Delete'").css("display",'block'); 7 }else{ 8 $("input[name='Delete'").css("display",'none'); 9 }*/ 10 });
3.功能:批量刪除
說明:需注意的是在傳值的的時候,要把獲取的數組checkData轉化成字符串checkData.toString()
1 //批量刪除 2 $("#Delete").click(function(){ 3 if(confirm('確定要刪除所選嗎?')){ 4 var checks = $("input[name='Check[]']:checked"); 5 if(checks.length == 0){ alert('未選中任何項!');return false;} 6 //將獲取的值存入數組 7 var checkData = new Array(); 8 checks.each(function(){ 9 checkData.push($(this).val()); 10 }); 11 $.get("<{spUrl c=order a=delete}>",{Check:checkData.toString()},function(result){ if(result = true){ window.location.reload();}}); 12 } 13 } 14 });
實際應用中往往不僅僅只有批量刪除一個操作,通常還有其它的批量操作,我們可以對上面代碼優化整合一下,將通用的功能放在一個文件中。
通用文件:jquery.ready.js
說明:因為這一部分較為通用可以放在一個公共的js文件里面,獲取checkbox值可以寫成一個變量函數
1 //獲取被選中checkbox值 2 var checked = function(){ 3 var checks = $("input[name='Check[]']:checked"); 4 if(checks.length == 0){ alert('未選中任何項!');return false;} 5 6 var checkData = new Array(); 7 checks.each(function(){ 8 checkData.push($(this).val()); 9 }); 10 return checkData; 11 }; 12 13 //全選/全不選 14 $("#CheckAll").bind("click",function(){ 15 $("input[name='Check[]']").prop("checked",this.checked); 16 //顯示刪除按鈕 17 /*if(this.checked == true){ 18 $("input[name='Delete'").css("display",'block'); 19 }else{ 20 $("input[name='Delete'").css("display",'none'); 21 }*/ 22 });
list.js
1 //批量刪除 2 $("#Delete").click(function(){ 3 if(val = checked()){ 4 if(confirm('確定要刪除所選嗎?')){ 5 $.get("<{spUrl c=order a=delete}>",{Check:val.toString()},function(result){ if(result = true){ window.location.reload();}}); 6 } 7 } 8 });
//批量操作...