简单的问题我想。
我有一个Kendo Multiselect绑定到一个对象数组(contentLangs)。
从后端我得到一组int(AvailableLanguages
)。
现在我的问题是如何正确绑定值。
我需要计算机或类似的东西吗?
提前致谢!
<select data-bind="kendoMultiSelect: {
data: contentLangs ,
dataTextField: 'Name',
dataValueField: 'ID',
value: AvailableLanguages,
index: 0,
height: '500'
}"></select>
AvailableLanguages: [0,1]
var contentLangs = [
{ Name: "Deutsch", ID: "DE", Cls: "language-flag flag-de" },
{ Name: "Englisch", ID: "EN", Cls: "language-flag flag-en" },
{ Name: "Italienisch", ID: "IT", Cls: "language-flag flag-it" }
]
答案 0 :(得分:1)
所以你需要像这样创建你的视图模型:
var viewModel = {
availableLanguages: ko.observable([0,1]),
contentLangs: [
{ Name: "Deutsch", ID: "DE", Cls: "language-flag flag-de" },
{ Name: "Englisch", ID: "EN", Cls: "language-flag flag-en" },
{ Name: "Italienisch", ID: "IT", Cls: "language-flag flag-it" }
]
};
contentLangs
除非更改,否则不需要成为observableArray。 availableLanguages
需要是可观察的,因为我们需要在选择更改时更新viewModel。
然后,您可以使用以下命令将viewModel绑定到视图:
ko.applyBindings(viewModel);
视图将是:
<select data-bind="kendoMultiSelect: {
data: contentLangs,
dataTextField: 'Name',
dataValueField: 'ID',
value: availableLanguages,
index: 0,
height: '500'
}"></select>