我有一个 observableArray 项目,我映射到一个复选框列表。他们一开始都没有被点击。但是当一个特定的项目被选中时,我想要一组复选框被选中。
我的视图模型:
function ModelView(data) {
var self = this;
self.Items= ko.observableArray(data.Items);
self.ItemOptions = ko.observableArray(data.ItemOptions );
self.PreSelectOptions = function(item){
ko.utils.arrayForEach(self.ItemOptions(), function (itemoption) {
var selected = false;
//Loop through the options the item has and preselect the checkboxes
for (var i = 0; i < item.Option.length; i++) {
if (itemoption.ID == item.Option[x]) {
selected = true;
break;
}
}
itemoption.chosen = selected;//Check the checkbox
});
}
html片段:
<ul data-bind="foreach: channels">
<li>
<input type="checkbox" data-bind='checked: chosen' /><span data-bind="text: ChannelName"></span></li>
</ul>
我已经逐步完成了代码,并且 itemoption.chosen 被设置为 true。我必须重新绑定复选框吗?