我在做一个全选功能时有一下代码:
$(":checkbox[name=checkboxBtn]").click(function(){
var all = $(":checkbox[name=checkboxBtn]").length;
var select = $(":checkbox[name=checkboxBtn]:checked").length;
if(all == select) {
$("#selectAll").attr("checked",true);
}else if(select == 0) {
$("#selectAll").attr("checked", false);
}else {
$("#selectAll").attr("checked", false);
}
});
一开始勾选和取消是正常的,可是第二遍就不行了.
解决方法:把attr()改成prop()
$(":checkbox[name=checkboxBtn]").click(function(){
var all = $(":checkbox[name=checkboxBtn]").length;
var select = $(":checkbox[name=checkboxBtn]:checked").length;
if(all == select) {
$("#selectAll").prop("checked",true);
}else if(select == 0) {
$("#selectAll").attr("checked", false);
}else {
$("#selectAll").attr("checked", false);
}
});
prop()是1.6以上版本的 用了对象就会变成undefined 不是太懂 而且勾选后 也就没有了checked="checked"
有哪位大神知道的 可以告诉我^_^