先写一段全选的代码
//全选、全不选 $("#currentPageAllOrders").bind({ click : function(){ var allOrdersChecked = $(this).is(":checked") $("input[name='selectedId']").each(function () { $(this).attr("checked",allOrdersChecked); }) } });
页面效果如下
我们F12看了一下页面代码,是没有选中状态,符合预期
我们点击全选前面的选框,发现页面全选中了,这是我们想要的,这个时候我们再看看代码,多了一个checked=“checked",符合预期
接下来点取消,发现页面中的 checked="checked"消失,符合预期
这个时候,注意啦,当我们再次点击全选的时候,我们发现额,页面中没有选中效果,但是代码中却有 checked="checked"
神奇啊,哭笑不得
后来经过研究发现,jquery1.6开始添加了一个新的方法prop,至于这个方法的详细情况,各位可以问度娘
解决方案
ok 问题解决了(为了赶时髦,我用的是jquery1.11,罪过罪过)
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-12 21:47:54