-1

我认为简单的问题。

我有一个绑定到对象数组(contentLangs)的 Kendo Multiselect。

从后端我得到一个整数数组(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" }
]
4

1 回答 1

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>
于 2015-07-17T14:26:54.650 回答