【发布时间】:2013-07-10 09:43:27
【问题描述】:
我有一系列复选框,它们都绑定到一个选定值的数组:
var myModel = {
// ...
workgroupsImpacted: ko.observableArray([])
};
在顶部,我有一个 全选 复选框。当全选复选框被选中时,我运行以下代码:
var subGroups = $('#WorkgroupCB_' + parentId);
$(':input', subGroups).prop('checked', this.checked);
这会选中(或取消选中)相应的复选框控件。这很好用,UI 明智,但是绑定模型没有得到更新。换句话说,workgroupsImpacted 保持为空。
当我选中或取消选中一堆复选框时,有没有一种简单的方法来更新模型?或者,我是否必须遍历每个复选框,挖掘值,然后从模型中的数组中手动添加或删除该值?我希望 Knockout.js 提供一个标准机制来轻松完成此操作。
【问题讨论】:
-
如果您选中其中一个复选框,
workgroupsImpacted会更新吗?如果是这样,这是怎么发生的? -
@MichaelBest - 是的,每个单独的复选框都绑定到
workgroupsImpacted数组。但是,复选框是在服务器上呈现的,而不是使用foreach模板。
标签: javascript jquery knockout.js