我有几个复选框和一个状态框,告诉您是否至少选中了一个复选框。
我还有一个选中All / None复选框,它可用于切换复选框,但它不会触发分配给每个复选框的更改事件,因此如果使用选中All / None复选框,状态永远不会更新。
这是我的实施:
答案 0 :(得分:14)
function toggleChecked(status) {
$(".chkbx").each( function() {
$(this).prop("checked", status).change(); // you have to trigger the event
});
}
<强> DEMO 强>
答案 1 :(得分:5)
通过脚本对输入元素的任何更改都不会触发onchange
事件。
或者,您可以在更新输入时触发change()
,如下所示
$(this).prop("checked", status).change();
完整代码:
function toggleChecked(status) {
$(".chkbx").each( function() {
$(this).prop("checked", status).change();
});
}
同时使用.prop
代替.attr