我有一个按钮,用于检查div
中的所有复选框并取消选中。
但是,如果我要手动选中一个复选框,然后点击全部检查按钮,然后取消选中全部,则手动选中的复选框不会被取消选中!
有什么想法吗?
答案 0 :(得分:6)
那是因为jQuery在1.6中被改变了
使用attr
代替prop
就是打破它。
尝试使用prop
代替
更新了小提琴:http://jsfiddle.net/hM5bu/2/
有关jQuery 1.6中prop
和attr
的更多信息,请参阅此问题:.prop() vs .attr()
答案 1 :(得分:-1)
这是一个解决方案:
<input type="checkbox" name="todos" id="todos" /> All<br/>
<input class="marcartodos" type="checkbox" name="marcado[]" value="1" />1<br/>
<input class="marcartodos" type="checkbox" name="marcado[]" value="2" />2<br/>
<input class="marcartodos" type="checkbox" name="marcado[]" value="3" />3<br/>
<input class="marcartodos" type="checkbox" name="marcado[]" value="4" />4<br/>
<script type="text/javascript">
$(function() {
$("#todos").click(function() {
if ($(this).is(':checked'))
$(".marcartodos").attr('checked', true);
else
$(".marcartodos").attr('checked', false);
});
});
</script>