【发布时间】:2017-08-12 21:41:04
【问题描述】:
我首先有两个列表 SelectedServiceSubCategoryList 声明为
self.SelectedServiceSubCategoryList = ko.observableArray([]);
第二个ServiceCategoryList
声明为
self.ServiceCategoryList = ko.observableArray([]);
这些列表的模型如下所示 对于 SelectedServiceSubCategoryList
function SSCategoryViewModel(obj)
{
var x = this;
x.Id = obj.SCategory.Id;
x.SC_Name = obj.SCategory.SC_Name;
x.SSC_Id = obj.SSC_Id;
x.SSC_Name = obj.SSC_Name;
x.Value = ko.observable(0);
x.IsSelected = ko.observable(false);
x.CompanyID = self.Company.CompanyID();
x.Value.subscribe(function (newValue) {
self.IsEditingServices(true);
self.DrawServiceGraph(x);
$('#serviceIndustries .editButtonIocn .edit').click();
});
x.OnClickSlider = null;
}
和 对于 ServiceCategoryList
function SCategoryViewModel(obj)
{
var x = this;
x.Id = obj.Id;
x.SC_Name = obj.SC_Name;
x.IsSelected = ko.observable(false);
x.CompanyID = self.Company.CompanyID();
x.SSC_List = ko.observableArray([]);
x.IsValueChanged = ko.computed(function () {
var selectedList = ko.utils.arrayFilter(x.SSC_List(), function (o) { return o.IsSelected() && o.Value() > 0; });
if (selectedList.length > 0) { return true; }
else { return false; }
}, x);
}
我在 HTML 中使用 data-bind 属性使用 foreach 绑定 SelectedServiceSubCategoryList
<ul class="collapsible popout" data-collapsible="accordion"
data-bind="foreach:SelectedServiceSubCategoryList">
我想在 SelectedServiceSubCategoryList foreach 循环中绑定 ServiceCategoryList
如何建立这两个列表之间的关系。
【问题讨论】:
-
你能把SelectedServiceSubCategoryList中的单项结构和ServiceCategoryList中的单项结构发布出来,然后发布你期望的结果吗?
-
我想在 ServiceCatSelectedServiceSubCategoryList 中使用 ServiceCategoryList 的 foreach
标签: jquery arrays list knockout.js