我有一个checkbok作为selectAll
全选
<input class="all-select" type="checkbox" value="" name="">
我还有一个朋友列表,每个朋友都有一个动态填充的复选框。
<ul>
<li><span><img src="img.src" ></span><strong>Name</strong>
<br />Email
<input name="" type="checkbox" value="" class="chk-box">
</li>.....</ul>
当我点击全选复选框时,我的列表中的所有复选框都应该被选中,javascript代码如下:
$("#slide_top_pop").on("click", ".all-select", function (event) {
if ($(this).is(':checked')) {
$('input.chk-box').attr('checked', true);
} else {
$('input.chk-box').attr('checked', false);
}
});
现在的问题是,当我第一次选择Select All复选框时,列表会被选中,但当我取消选中它并再次检查时,列表未被选中,当我尝试在Mozilla上验证它时是什么检查列表的属性(属性)然后我得到这个:
<input class="chk-box" type="checkbox" value="" name="" checked="checked">
表示已选中该复选框,但我无法在列表中看到所选的勾选。 我不明白问题是什么。 感谢任何解决方案。
答案 0 :(得分:1)
使用.prop()
代替.attr()
,如:
$("#slide_top_pop").on("click", ".all-select", function (e) {
$('input.chk-box').prop('checked', this.checked);
});