Jquery操作checkbox

记录一下常用的jQuery操作checkbox的方法

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//注意: 操作checkbox的checked,disabled属性时jquery1.6以前版本用attr,1.6以上(包含)建议用prop
 
    //1、根据id获取checkbox
    $("#cbCheckbox1");
 
    //2、获取所有的checkbox
    $("input[type='checkbox']");//or
    $("input[name='cb']");
 
    //3、获取所有选中的checkbox
    $("input:checkbox:checked");//or
    $("input:[type='checkbox']:checked");//or
    $("input[type='checkbox']:checked");//or
    $("input:[name='ck']:checked");
 
    //4、获取checkbox值
    //用.val()即可,比如:
    $("#cbCheckbox1").val();
 
 
    //5、获取多个选中的checkbox值
    var vals = [];
    $('input:checkbox:checked').each(function (index, item) {
        vals.push($(this).val());
    });
 
    //6、判断checkbox是否选中(jquery 1.6以前版本 用  $(this).attr("checked"))
    $("#cbCheckbox1").click(function () {
        if ($(this).prop("checked")) {
            alert("选中");
        } else {
            alert("没有选中");
        }
    });
 
    //7、设置checkbox为选中状态
    $('input:checkbox').attr("checked", 'checked');//or
    $('input:checkbox').attr("checked", true);
 
    //8、设置checkbox为不选中状态
    $('input:checkbox').attr("checked", '');//or
    $('input:checkbox').attr("checked", false);
 
    //9、设置checkbox为禁用状态(jquery<1.6用attr,jquery>=1.6建议用prop)
    $("input[type='checkbox']").attr("disabled", "disabled");//or
    $("input[type='checkbox']").attr("disabled", true);//or
    $("input[type='checkbox']").prop("disabled", true);//or
    $("input[type='checkbox']").prop("disabled", "disabled");
 
    //10、设置checkbox为启用状态(jquery<1.6用attr,jquery>=1.6建议用prop)
    $("input[type='checkbox']").removeAttr("disabled");//or
    $("input[type='checkbox']").attr("disabled", false);//or
    $("input[type='checkbox']").prop("disabled", "");//or
    $("input[type='checkbox']").prop("disabled", false);

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<!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>

JS判断checked是否被选中及操作checkedbox选中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function allcheck() {
             var nn = $("#allboxs").is(":checked"); //判断th中的checkbox是否被选中,如果被选中则nn为true,反之为false
                 if(nn == true) {
                     var namebox = $("input[name^='boxs']");  //获取name值为boxs的所有input
                     for(i = 0; i < namebox.length; i++) {
                         namebox[i].checked=true;    //js操作选中checkbox
                     }
                 }
                 if(nn == false) {
                     var namebox = $("input[name^='boxs']");
                     for(i = 0; i < namebox.length; i++) {
                         namebox[i].checked=false;
                     }
                 }
             }