如何将简单的json对象绑定到knockout中的下拉列表?

时间:2013-05-23 17:55:11

标签: knockout.js

我有一个简单的json对象:

“{"MediaType":1,"Country":2,"Region":3,"SubRegion":4}"

我想将它绑定到下拉列表,以便生成的html看起来如下所示。我不知道如何做到这一点,因为JSON表示不同的名称和值,或者更好地表示它是键值对的表示。

<option value="1">Media Type</option>
<option value="2">Country</option>
<option value="3">Region</option>
<option value="4">Sub Region</option>

1 个答案:

答案 0 :(得分:2)

您可以将JSON键/值对转换为具有标准化属性的JS对象的标准数组,例如名称和值。

//this is property that gets passed to the `options` binding
this.items = ko.observableArray();  

//convert json key/value pair into a standardized object array
for (key in jsonResult) {
    var item = {
        name: key,         // Push the key on the array
        value: jsonResult[key] // Push the key's value on the array
    };
    this.items.push(item);
}

See the Fiddle