先写一段全选的代码
//全选、全不选
$("#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,罪过罪过)