javascript - 检查所有复选框jquery

标签 javascript jquery checkbox

为什么在我的 js 代码中只需单击 name:check_all 就可以选中所有复选框?

HTML:

<div id="ss">
    <input type="checkbox" name="check_all">
</div>
<input type="checkbox" name="checked" class="idRow">
<input type="checkbox" name="checked" class="idRow">
<input type="checkbox" name="checked" class="idRow">
<input type="checkbox" name="checked" class="idRow">
<input type="checkbox" name="checked" class="idRow">
<input type="checkbox" name="checked" class="idRow">
<input type="checkbox" name="checked" class="idRow">
<input type="checkbox" name="checked" class="idRow">

jQuery:

$(document).on('click change','input[name="check_all"]',function() {
    var checkboxes = $('.idRow');
    if($(this).is(':checked')) {
        checkboxes.attr("checked" , true);
    } else {
        checkboxes.attr ( "checked" , false );
    }
});

演示: http://jsfiddle.net/KdaZr/

我的 jQuery 版本是 1.9。

如何解决?

最佳答案

使用prop 方法。当您的标记被呈现时,属性成为元素的属性,使用 JavaScript 您应该修改元素的属性。

$(document).on('change','input[name="check_all"]',function() {
    $('.idRow').prop("checked" , this.checked);
});

http://jsfiddle.net/GW64e/

请注意,如果 input[name="check_all"] 不是动态生成的,则无需委托(delegate)事件。

关于javascript - 检查所有复选框jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14925874/

相关文章:

javascript - jTemplates {#for} 在 Internet Explorer 7 中不工作,错误?

javascript - 在 JQuery 中显示和隐藏对象

android - 如何正确设置数组的大小?

c# - Ajax.BeginForm() 带有复选框语法错误

jQuery 添加选中的 ="checked"到单选框/复选框

javascript - React-Router:如果未通过身份验证则显示主页,如果在 "/"中通过身份验证则显示仪表板

javascript - 如何在 highcharts 标志中设置图像样式?

javascript - 如何在通过 JavaScript 加载图像时显示微调器

javascript - jquery sortable 除了这个

javascript - jQuery 的非 DOM 子集