jQuery對checkbox的各種操作(詳細)
阿新 • • 發佈:2018-12-18
1 //注意: 操作checkbox的checked,disabled屬性時jquery1.6以前版本用attr,1.6以上(包含)建議用prop 2 3 //1、根據id獲取checkbox 4 $("#cbCheckbox1"); 5 6 //2、獲取所有的checkbox 7 $("input[type='checkbox']");//or 8 $("input[name='cb']"); 9 10 //3、獲取所有選中的checkbox 11 $("input:checkbox:checked");//or 12 $("input:[type='checkbox']:checked");//or 13 $("input[type='checkbox']:checked");//or 14 $("input:[name='ck']:checked"); 15 16 //4、獲取checkbox值 17 //用.val()即可,比如: 18 $("#cbCheckbox1").val(); 19 20 21 //5、獲取多個選中的checkbox值 22 var vals = []; 23 $('input:checkbox:checked').each(function (index, item) { 24 vals.push($(this).val()); 25 }); 26 27 //6、判斷checkbox是否選中(jquery 1.6以前版本 用 $(this).attr("checked")) 28 $("#cbCheckbox1").click(function () { 29 if ($(this).prop("checked")) { 30 alert("選中"); 31 } else { 32 alert("沒有選中"); 33 } 34 }); 35 36 //7、設定checkbox為選中狀態 37 $('input:checkbox').attr("checked", 'checked');//or 38 $('input:checkbox').attr("checked", true); 39 40 //8、設定checkbox為不選中狀態 41 $('input:checkbox').attr("checked", '');//or 42 $('input:checkbox').attr("checked", false); 43 44 //9、設定checkbox為禁用狀態(jquery<1.6用attr,jquery>=1.6建議用prop) 45 $("input[type='checkbox']").attr("disabled", "disabled");//or 46 $("input[type='checkbox']").attr("disabled", true);//or 47 $("input[type='checkbox']").prop("disabled", true);//or 48 $("input[type='checkbox']").prop("disabled", "disabled"); 49 50 //10、設定checkbox為啟用狀態(jquery<1.6用attr,jquery>=1.6建議用prop) 51 $("input[type='checkbox']").removeAttr("disabled");//or 52 $("input[type='checkbox']").attr("disabled", false);//or 53 $("input[type='checkbox']").prop("disabled", "");//or 54 $("input[type='checkbox']").prop("disabled", false);
程式碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> </head> <body> <h3>jQuery操作checkbox </h3> <input type="checkbox" id="cbCheckbox1" value="1" /> <input type="checkbox" value="2" /> <input type="checkbox" disabled="disabled" value="3" /> <input type="checkbox" value="4" /> <input type="checkbox" disabled="true" value="5" /> <br /> <input type="button" id="btnDisabled" value="禁用" onclick="fn_disabled();" /> <input type="button" id="Button1" value="啟用" onclick="fn_enable();" /><br /> <input type="button" id="Button2" value="獲取選中的值" onclick="getCheckedValues();" /><br /> <input type="button" id="Button3" value="選中第二個" onclick="checkedSecond();" /> <input type="button" id="Button4" value="取消選中第二個" onclick="uncheckedSecond();" /><br /> </body> </html> <script src="js/jquery-1.9.1.min.js" type="text/javascript"></script> <script type="text/javascript"> function fn_disabled() { //$("input[type='checkbox']").attr("disabled", "disabled"); //$("input[type='checkbox']").attr("disabled", true); $("input[type='checkbox']").prop("disabled", true); // $("input[type='checkbox']").prop("disabled", "disabled"); } function fn_enable() { // $("input[type='checkbox']").removeAttr("disabled"); // $("input[type='checkbox']").attr("disabled", false); // $("input[type='checkbox']").prop("disabled",""); $("input[type='checkbox']").prop("disabled", false); } //獲取選中的 checkbox的值 function getCheckedValues() { var arr = []; $("input[type='checkbox']:checked").each(function (index, item) {// arr.push($(this).val()); }); alert(arr); } function checkedSecond() { // $("input[type='checkbox']:eq(1)").prop("checked", "checked"); $("input[type='checkbox']:eq(1)").prop("checked", true); } function uncheckedSecond() { // $("input[type='checkbox']:eq(1)").prop("checked", ""); $("input[type='checkbox']:eq(1)").prop("checked", false); } $("#cbCheckbox1").click(function () { if ($(this).prop("checked")) {//jquery 1.6以前版本 用 $(this).attr("checked") alert("選中"); } else { alert("沒有選中"); } }); </script>