我需要一些关于js / knockout / databindings的帮助。
在我的代码中,我收到一个这样的对象: Received object
我希望在下拉列表中显示该值,并且该键应存储为值。 我尝试使用像这样的一些敲除数据绑定:
<select id="routeTable" class="form-control" data-bind="
options: availableRouteTables,
optionsText: availableRouteTables.key,
optionsValue: availableRouteTables.value,
value: selectedRouteTable,
optionsCaption: '- velg rutetabell -'"></select>
我知道&#34; availableRouteTables.key&#34;和&#34; availableRouteTables.value&#34;是错的,但这只是为了解释/展示我想要的东西。
截至目前,该对象在JS中只是这样:
this.availableRouteTables = availableRouteTables;
在下拉列表中显示如下: Dropdown failure
有人可以帮我识别问题并修复它吗? 非常感谢!
答案 0 :(得分:0)
当您收到数据时,您必须更改其结构以使用选项绑定:
// Convert to array of objects with value and text properties
var availableRouteOptions = [];
for(var key in availableRouteTables) {
availableRouteOptions.push({
value: key,
text: availableRouteTables[key]
});
}
你必须改变你的绑定:
options: availableRouteOptions,
optionsText: 'text',
optionsValue: 'value',