我有以下html代码:

    <input type="checkbox" id="ckbCheckAll" />
    <p id="checkBoxes">
        <input type="checkbox" class="checkBoxClass" id="Checkbox1" />
        <br />
        <input type="checkbox" class="checkBoxClass" id="Checkbox2" />
        <br />
        <input type="checkbox" class="checkBoxClass" id="Checkbox3" />
        <br />
        <input type="checkbox" class="checkBoxClass" id="Checkbox4" />
        <br />
        <input type="checkbox" class="checkBoxClass" id="Checkbox5" />
        <br />
    </p>

当用户检查ckbCheckAll时,必须选中所有复选框。另外我有以下jQuery代码:
    $(document).ready(function () {
        $("#ckbCheckAll").click(function () {
            $(".checkBoxClass").attr('checked', this.checked);
        });
    });

当我在浏览器中看到页面时,得到以下结果:
ckbCheckAll上的第一次单击中,选中了所有复选框(正确)。在ckbCheckAll上的第二次单击中,未选中所有复选框(这是正确的)。但是在第三次尝试中什么也没有发生!在第四次尝试中也没有任何 react ,依此类推。

问题出在哪儿?

最佳答案

使用 Prop

$(".checkBoxClass").prop('checked', true);

或取消选中:
$(".checkBoxClass").prop('checked', false);

http://jsfiddle.net/sVQwA/
$("#ckbCheckAll").click(function () {
    $(".checkBoxClass").prop('checked', $(this).prop('checked'));
});

更新的JSFiddle链接:http://jsfiddle.net/sVQwA/1/

关于javascript - 使用jQuery选择所有复选框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14778364/

10-09 00:41