使用prop方法比attr方法好。
使用prop
<script type="text/javascript">
$(function(){
$("#selectall").click(function(){
if(this.checked){
$("input[name='item']:checkbox").each(function(){
$(this).prop("checked",true);
});
}else {
$("input[name='item']:checkbox").each(function(){
$(this).prop("checked",false);
});
}
});
});
</script>
使用attr
<script type="text/javascript">
$(function(){
$("#selectall").click(function(){
if(this.checked){
$("input[name='item']:checkbox").each(function(){
$(this).attr("checked",true);
});
}else {
$("input[name='item']:checkbox").each(function(){
$(this).attr("checked",false);
});
}
});
});
</script>
使用attr后点击全选后,所有的复选框被选中,当点击上面的其中一个复选框将其去掉后,发现那个复选框就不加入全选中。
上图:
点击全选
点击2号选择框
再点击全选去掉所有选择
再点击全选
会发现2号不生效了。这就有问题了
而使用prop方法能够完美解决这个问题,自己可以尝试一下。