7

我有几个复选框和一个状态框,它告诉您是否至少选中了一个复选框。

我还有一个选中 All/None 复选框,用于切换复选框,但它不会触发分配给每个复选框的更改事件,因此如果使用选中 All/None 复选框,则状态永远不会更新。

这是我的实现:

http://jsfiddle.net/axl163/Fckvd/1/

4

2 回答 2

15
function toggleChecked(status) {
    $(".chkbx").each( function() {
        $(this).prop("checked", status).change(); // you have to trigger the event
    });
}

演示

于 2012-05-24T19:09:10.330 回答
6

通过脚本对输入元素的任何更改都不会触发onchange事件。

或者,您可以触发change()同时更新更改输入,如下所示,

$(this).prop("checked", status).change();

完整代码:

function toggleChecked(status) {
    $(".chkbx").each( function() {
        $(this).prop("checked", status).change();
    });
}

也使用.prop代替.attr

演示

于 2012-05-24T19:09:32.617 回答