关于checkbox有了checked='checked' 却不显示对号的解决方法

来源:互联网 发布:域名别名是什么意思 编辑:程序博客网 时间:2024/06/11 00:40

我在做一个全选功能时有一下代码:

$(":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"

有哪位大神知道的 可以告诉我^_^

0 0