进来开发中碰到一个比较奇怪的问题,就是用jquery控制界面中的checkbox全选和全不选的时候,

只能第一次成功使用不能重复操作。

代码如下:

全选

$('input:checkbox').each(function(){
    $(this).attr('checked',true);
});
全不选

$('input:checkbox').each(function(){
    $(this).attr('checked',false);
});

在网上查说是jquery1.8以上存在这个问题,解决方法是用prop

全选

$('input:checkbox').each(function(){
    $(this).prop('checked',true);
});
全不选

$('input:checkbox').each(function(){
    $(this).prop('checked',false);
});

这种方式没有在checkbox添加checked属性。

于是用下面这种方式写可以处理上面遇到的所有问题。

全选

$('input:checkbox').each(function(){

    $(this).attr('checked',true);
    $(this).prop('checked',true);
});
全不选

$('input:checkbox').each(function(){

    $(this).attr('checked',false);
    $(this).prop('checked',false);
});