1. 程式人生 > >jQuery對checkbox的各種操作(詳細)

jQuery對checkbox的各種操作(詳細)

 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>