美文网首页
JQuery对checkbox的各种操作

JQuery对checkbox的各种操作

作者: Mannixxx | 来源:发表于2019-01-12 09:36 被阅读0次

//注意: 操作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);

    代码如下

<!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>

jQuery赋值checked的几种写法:

所有的jQuery版本都可以这样赋值,不建议用attr():

$("#cb1").attr("checked","checked"); //通用做法,现在不推荐了

$("#cb1").attr("checked",true); //不标准,不推荐了

$("#cb1").attr("checked","true"); //不标准,不推荐了

jQuery的prop()的4种赋值(推荐如下写法):

$("#cb1").prop("checked",true); //标准写法,推荐!

$("#cb1").prop({checked:true}); //map键值对   

$("#cb1").prop("checked",function(){

    return true;//函数返回true或false

});

//$("#cb1").prop("checked","checked"); //不标准

相关文章

网友评论

      本文标题:JQuery对checkbox的各种操作

      本文链接:https://www.haomeiwen.com/subject/npuqdqtx.html