本文實例講述了jQuery實現checkbox全選、反選及刪除等操作的方法。分享給大家供大家參考,具體如下:
運行效果:
1.list.html
說明:用checkbox數組Check[]存放每一行的ID值
<div id="con"> <table width="100%" cellspacing="1" cellpadding="0"> <tr> <th><input id="CheckAll" name='CheckAll' type='checkbox'></th> <th>ID</th> <th>Name</th> <th>Date</th> </tr> <tr> <td><input id='Check[]' name='Check[]' type='checkbox' value="1"></td> <td>10001</td> <td>XXX</td> <td>2015-12-01</td> </tr> <tr> <td><input id='Check[]' name='Check[]' type='checkbox' value="2"></td> <td>10002</td> <td>XXX</td> <td>2015-12-02</td> </tr> <tr> <td><input id='Check[]' name='Check[]' type='checkbox' value="3"></td> <td>10003</td> <td>XXX</td> <td>2015-12-03</td> </tr></table><div id="bottom"> <input id="Delete" name="Delete" type="button" value=" 刪 除 " class="btn btn-danger radius"/></div></div>
2.功能:全選/全不選
說明:如果需要這里還可以根據選擇結果顯示/隱藏【刪除】等按鈕
//全選/全不選 $("#CheckAll").bind("click",function(){ $("input[name='Check[]']").prop("checked",this.checked); //顯示刪除按鈕 /*if(this.checked == true){ $("input[name='Delete'").css("display",'block'); }else{ $("input[name='Delete'").css("display",'none'); }*/ });
3.功能:批量刪除
說明:需注意的是在傳值的的時候,要把獲取的數組checkData轉化成字符串checkData.toString()
//批量刪除$("#Delete").click(function(){ if(confirm('確定要刪除所選嗎?')){ var checks = $("input[name='Check[]']:checked"); if(checks.length == 0){ alert('未選中任何項!');return false;} //將獲取的值存入數組 var checkData = new Array(); checks.each(function(){ checkData.push($(this).val()); }); $.get("<{spUrl c=order a=delete}>",{Check:checkData.toString()},function(result){ if(result = true){ window.location.reload();}}); } }});
實際應用中往往不僅僅只有批量刪除一個操作,通常還有其它的批量操作,我們可以對上面代碼優化整合一下,將通用的功能放在一個文件中。
通用文件:jquery.ready.js
說明:因為這一部分較為通用可以放在一個公共的js文件里面,獲取checkbox值可以寫成一個變量函數
//獲取被選中checkbox值var checked = function(){ var checks = $("input[name='Check[]']:checked"); if(checks.length == 0){ alert('未選中任何項!');return false;} var checkData = new Array(); checks.each(function(){ checkData.push($(this).val()); }); return checkData;};//全選/全不選$("#CheckAll").bind("click",function(){ $("input[name='Check[]']").prop("checked",this.checked); //顯示刪除按鈕 /*if(this.checked == true){ $("input[name='Delete'").css("display",'block'); }else{ $("input[name='Delete'").css("display",'none'); }*/});
list.js
//批量刪除$("#Delete").click(function(){ if(val = checked()){ if(confirm('確定要刪除所選嗎?')){ $.get("<{spUrl c=order a=delete}>",{Check:val.toString()},function(result){ if(result = true){ window.location.reload();}}); } }});//批量操作...
更多關于jQuery相關內容感興趣的讀者可查看本站專題:《jQuery表格(table)操作技巧匯總》、《jQuery頁面元素操作技巧匯總》、《jQuery常見事件用法與技巧總結》、《jQuery form操作技巧匯總》、《jQuery常用插件及用法總結》、《jQuery擴展技巧總結》及《jquery選擇器用法總結》
希望本文所述對大家jQuery程序設計有所幫助。
新聞熱點
疑難解答