为什么在我的 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);
});
请注意,如果 input[name="check_all"]
不是动态生成的,则无需委托(delegate)事件。
关于javascript - 检查所有复选框jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14925874/