Jquery 循环检查复选框并获取数据
这是我上一个问题的继续 您可以看到,当页面加载时,它将显示2个选定项目,即列表中的2个和3个。现在,当我选中选项Test1时,它没有被添加到列表中。简而言之,它不会在列表中添加新选择的项目。我已经完成了以下步骤,以循环选择的项目Jquery 循环检查复选框并获取数据,jquery,knockout.js,Jquery,Knockout.js,这是我上一个问题的继续 您可以看到,当页面加载时,它将显示2个选定项目,即列表中的2个和3个。现在,当我选中选项Test1时,它没有被添加到列表中。简而言之,它不会在列表中添加新选择的项目。我已经完成了以下步骤,以循环选择的项目 viewModel.selectedItems = ko.computed(function() { debugger; return ko.utils.arrayMap(viewModel.checkDuplicate(), function(id) {
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;
});
});
});
我竖起了小提琴,所以它很容易理解。暂时忘记更新按钮吧。当我选中一些复选框时,它应该只显示那些在更新按钮下面的列表中选中的复选框。请帮忙
现在,当我选中选项Test1时,它没有被添加到列表中。简而言之,它不会在列表中添加新选择的项目
我创建了一个提琴,其中列表根据复选框的选中/取消选中进行更新。检查这个
视图模型
如果有帮助,请告诉我
已更新
.你能编辑我的小提琴吗。您正在运行时创建复选框。我对淘汰赛不太自信。因此,如果您编辑我的小提琴,这将非常有帮助。我没有做任何不同的事情,基于
复选框创建的复选框可观察到数组条目
,在您的情况下,您也在做同样的事情,您的复选框是用dataone observableArray enrties
创建的。请您修改我的小提琴。我尝试过,但不确定如何使用Isselected。请参见更新的FIDLE,IsSelected属性应与每个复选框对象关联,因此无论何时选中或取消选中任何复选框,其关联属性IsSelected都将更新。
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;
});
}