这是我之前的问题here
的延续您可以看到页面加载时它将显示2个选定项目,即列表中的两个和三个。现在,当我检查选项Test1时,它没有被添加到列表中。简而言之,它不会在列表中添加新选择的项目。我已完成以下操作以循环选定的项目
viewModel.selectedItems = ko.computed(function() {
debugger;
return ko.utils.arrayMap(viewModel.checkDuplicate(), function(id) {
return ko.utils.arrayFirst(viewModel.dataOne(), function(item) {
return item.name1 == id;
});
});
});
我已经摆弄了小提琴here,所以很容易理解。暂时忘记更新按钮。当我选择一些复选框时,它应该只显示在更新按钮下面的列表中选择的那些复选框。请帮忙。
答案 0 :(得分:1)
现在当我检查选项Test1时,它没有被添加到列表中。简而言之,它没有在列表中添加新选择的项目......
我创建了一个小提琴,其中列表根据复选框的选中/取消选中更新。检查一下
视图模型
function VM() {
var self = this;
self.Checkboxes = ko.observableArray([
new Checkbox("one", 1, "Test1"),
new Checkbox("two", 2, "Test2", true),
new Checkbox("three", 3, "Test3", true)
]);
self.SelectedItems = ko.computed(function(){
var boxes = [];
ko.utils.arrayForEach(self.Checkboxes(), function(box){
if(box.IsSelected()){
boxes.push(box);
}
});
return boxes;
});
}
让我知道它是否有帮助!
<强>更新强>