Knockout.js 对对象的knockoutjsid引用

Knockout.js 对对象的knockoutjsid引用,knockout.js,kendo-ui,knockout-kendo,Knockout.js,Kendo Ui,Knockout Kendo,我想这是个简单的问题 我得到了一个剑道多重选择,它绑定到一个对象数组(contentLangs) 从后端我得到一个int数组(AvailableLanguages) 现在我的问题是如何正确绑定这些值 我需要计算机或类似的东西吗 提前谢谢 <select data-bind="kendoMultiSelect: { data: contentLangs , dataTextField: 'Name', dataValueField: 'ID', value:

我想这是个简单的问题

我得到了一个剑道多重选择,它绑定到一个对象数组(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 contentLangs=[
{Name:“Deutsch”,ID:“DE”,Cls:“language flag DE”},
{Name:“Englisch”,ID:“EN”,Cls:“language flag EN”},
{Name:“Italienisch”,ID:“IT”,Cls:“language flag IT”}
]

因此,您需要创建视图模型,如下所示:

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,除非它发生更改<代码>可用语言需要是可观察的,因为我们需要在选择更改时更新viewModel

然后,可以使用以下命令将viewModel绑定到视图:

ko.applyBindings(viewModel);
这种观点是:

<select data-bind="kendoMultiSelect: {
    data: contentLangs,
    dataTextField: 'Name',
    dataValueField: 'ID',
    value: availableLanguages,
    index: 0,
    height: '500'
}"></select>


可用语言的含义是什么?contentLangs应该在下拉列表中吗?抱歉@WayneEllery,contentLangs是数据/数据源OK谢谢,我想我有点不清楚。但你的回答给了我正确的冲动。我给contentLangs添加了一个真实的Id-现在它可以工作了。:-)