当我循环并将布尔值绑定到复选框时,复选框不会更新。
function ViewModel() {
var self = this;
self.test = ko.observableArray([ false, false, false ]);
return self;
}
ko.applyBindings(new ViewModel());
<div data-bind="text: ko.toJSON(test)"></div>
<div data-bind="foreach: $root.test">
<input type="checkbox" data-bind="checked: $data" />
</div>
您可以在jsfiddle上查看问题: http://jsfiddle.net/KVWet/1/
答案 0 :(得分:2)
http://knockoutjs.com/documentation/checked-binding.html
如果您的参数解析为数组,则会给予特别考虑。在这种情况下,如果值与数组中的项匹配,则KO将设置要检查的元素,如果数组中未包含项,则取消选中。
因为如果选中某个项目,则会将其值添加到数组中。如果未检查则将其取走。我认为为此工作,您将需要添加到数组的键,以便它可以匹配它所属的复选框。一系列布尔值无法帮助将其映射到相应的复选框。