Jquery选中所有复选框

时间:2013-11-29 08:02:15

标签: javascript jquery

为什么我检查所有按钮只能工作一次而在第3次点击时不起作用。 check all按钮仅适用于第一次点击。我检查了dom及其更新,但视图确实如此。问题的原因是什么?

FIDDLE

jQuery('.sp_country').click(function () {
    var checkbox = $(this).find(":checkbox"),
        checked = checkbox.is(":checked");
    checkbox.prop("checked", !checked);

});

jQuery('.sp_country input:checkbox').on('click', function (e) {
    e.stopImmediatePropagation();
    var checked = (e.currentTarget.checked) ? false : true;
    e.currentTarget.checked = (checked) ? false : checked.toString();
});

jQuery('#bt_checkbox').click(function (e) {
    e.stopImmediatePropagation();
    if (jQuery(this).val() === 'Uncheck All') {
        jQuery('#country input:checkbox').removeAttr('checked');
        jQuery(this).val('Check All');
    } else {
        jQuery('#country input:checkbox').attr('checked', 'checked');
        jQuery(this).val('Uncheck All');
    }
});

1 个答案:

答案 0 :(得分:6)

fiddle Demo

更改

jQuery('#country input:checkbox').attr('checked', 'checked');

jQuery('#country input:checkbox').prop('checked', true);

<小时/> 使用.prop()

阅读.prop() vs .attr()