1、全選
$("#btn1").click(function(){ $("input[name='checkbox']").attr("checked","true"); })
2、取消全選(全不選)
$("#btn2").click(function(){ $("input[name='checkbox']").removeAttr("checked"); })
3、選中所有奇數
$("#btn3").click(function(){ $("input[name='checkbox']:odd").attr("checked","true"); })
4、選中所有偶數
$("#btn6").click(function(){ $("input[name='checkbox']:even").attr("checked","true"); })
5、反選
$("#btn4").click(function(){ $("input[name='checkbox']").each(function(){ if($(this).attr("checked")) { $(this).removeAttr("checked"); } else { $(this).attr("checked","true"); } }) })
或者
$("#invert").click(function(){ $("#ruleMessage [name='delModuleID']:checkbox").each(function(i,o){ $(o).attr("checked",!$(o).attr("checked")); }); });
6、獲取選擇項的值
var aa=""; $("#btn5").click(function(){ $("input[name='checkbox']:checkbox:checked").each(function(){ aa+=$(this).val() }) document.write(aa); }) })
7、遍歷選中項
$("input[type=checkbox][checked]").each(function(){ //由於復選框一般選中的是多個,所以可以循環輸出 alert($(this).val()); });
8、例子
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>無標題頁</title> <script src="js/jquery-1.6.min.js" type="text/javascript"></script> <script type="text/javascript"> jQuery(function($){ //全選 $("#btn1").click(function(){ $("input[name='checkbox']").attr("checked","true"); }) //取消全選 $("#btn2").click(function(){ $("input[name='checkbox']").removeAttr("checked"); }) //選中所有基數 $("#btn3").click(function(){ $("input[name='checkbox']:even").attr("checked","true"); }) //選中所有偶數 $("#btn6").click(function(){ $("input[name='checkbox']:odd").attr("checked","true"); }) //反選 $("#btn4").click(function(){ $("input[name='checkbox']").each(function(){ if($(this).attr("checked")) { $(this).removeAttr("checked"); } else { $(this).attr("checked","true"); } }) }) //或許選擇項的值 var aa=""; $("#btn5").click(function(){ $("input[name='checkbox']:checkbox:checked").each(function(){ aa+=$(this).val() }) document.write(aa); }) }) </script> </head> <body> <form id="form1" runat="server"> <div> <input type="button" id="btn1" value="全選"> <input type="button" id="btn2" value="取消全選"> <input type="button" id="btn3" value="選中所有奇數"> <input type="button" id="btn6" value="選中所有偶數"> <input type="button" id="btn4" value="反選"> <input type="button" id="btn5" value="獲得選中的所有值"> <br> <input type="checkbox" name="checkbox" value="checkbox1"> checkbox1 <input type="checkbox" name="checkbox" value="checkbox2"> checkbox2 <input type="checkbox" name="checkbox" value="checkbox3"> checkbox3 <input type="checkbox" name="checkbox" value="checkbox4"> checkbox4 <input type="checkbox" name="checkbox" value="checkbox5"> checkbox5 <input type="checkbox" name="checkbox" value="checkbox6"> checkbox6 <input type="checkbox" name="checkbox" value="checkbox7"> checkbox7 <input type="checkbox" name="checkbox" value="checkbox8"> checkbox8 </div> </form> </body> </html>
JQuery實現全選功能(解決只能全選一次的問題)
Step-1 : JS實現
//全選、取消全選的事件 function selectAll(){ console.log(1); console.log($("#checkall").prop("checked")); if ($("#checkall").prop("checked")) { console.log(2); $("input[type='checkbox'][name='checkedres']").prop("checked",true);//全選 } else { console.log(3); $("input[type='checkbox'][name='checkedres']").prop("checked",false); //取消全選 } } //子復選框的事件 function setSelectAll(){ //當沒有選中某個子復選框時,SelectAll取消選中 if (!$("#checkedres").checked) { $("#checkall").prop("checked", false); } var chsub = $("input[type='checkbox'][name='checkedres']").length; //獲取subcheck的個數 var checkedsub = $("input[type='checkbox'][name='checkedres']:checked").length; //獲取選中的subcheck的個數 if (checkedsub == chsub) { $("#checkall").prop("checked", true); } }
Step-2 : HTML實現
//設置全選復選框 <input id="checkall" name="checkall" type="checkbox" onclick="selectAll()"/>全選 //設置子復選框 <input id="checkedres" name="checkedres" type="checkbox" onclick="setSelectAll()"/>item 1 <input id="checkedres" name="checkedres" type="checkbox" onclick="setSelectAll()"/>item 2 <input id="checkedres" name="checkedres" type="checkbox" onclick="setSelectAll()"/>item 3 <input id="checkedres" name="checkedres" type="checkbox" onclick="setSelectAll()"/>item 4