jQuery CheckAll切换不正常工作

时间:2014-04-21 14:08:50

标签: javascript jquery

使用:

function CheckToggle(which){
    jQuery(which).each(function() {
        jQuery(this).attr('checked', !jQuery(this).attr('checked'));
    });
}

首次点击后,系统会检查所有复选框,再次点击它,然后取消选中它们。

第二次点击,框中没有复选标记,但是,选中="已选中"属性确实出现在元素中,如果再次单击checkall则消失。​​

如何让他们显示复选标记?

2 个答案:

答案 0 :(得分:1)

使用prop代替attr

function CheckToggle(which){
    jQuery(which).each(function() {
        jQuery(this).prop('checked', !jQuery(this).attr('checked'));
    });
}

答案 1 :(得分:1)

在这种情况下,将使用.prop()代替.attr()。但老实说,不使用它们会更好:

this.checked = !this.checked;