如何使用KnockoutJS将字典集合绑定到选择列表。
如果我的“Destinations”字典在JSON中显示如下:
{"Europe":"Europe incl Egypt, Turkey & Tunisia","ANZO":"Australia & New Zealand","WorldwideUSA":"Worldwide (incl USA & Canada)"}
如何将其绑定到选择列表。像这样:
data_bind="value: Destination, options: Destinations.Value, optionsText: Destinations.Key"
答案 0 :(得分:26)
通常,在处理字典时,您需要将其映射到包含具有键/值属性的对象的数组。
会是这样的:
function mapDictionaryToArray(dictionary) {
var result = [];
for (var key in dictionary) {
if (dictionary.hasOwnProperty(key)) {
result.push({ key: key, value: dictionary[key] });
}
}
return result;
}
答案 1 :(得分:13)
我知道这已经得到了回答,但我想我会分享一个更全面的解决方案。
https://github.com/jamesfoster/knockout.observableDictionary
这是一个演示它的jsfiddle
希望其他人能找到这个有用的