關於checkbox有了checked='checked' 卻不顯示對號的解決方法
阿新 • • 發佈:2019-02-02
我在做一個全選功能時有一下程式碼:
$(":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"
有哪位大神知道的 可以告訴我^_^