我是knockout.js的新手。我无法使用敲除js将数据从api绑定到下拉列表。
来自api和下拉列表的我的Json数据是:
[{
ContactID: 0,
FirstName: "Aaa",
LastName: "bbb",
MobileNumber: null,
StartDate: "0001-01-01T00:00:00",
EndDate: "0001-01-01T00:00:00"
},
{
ContactID: 0,
FirstName: "Ccc",
LastName: "ddd",
MobileNumber: null,
StartDate: "0001-01-01T00:00:00",
EndDate: "0001-01-01T00:00:00"
}
]
<select id="selectmenu1" name="" data-theme="c" data-bind="optionsCaption: 'Choose...'"> </select>
我只是将firstname,lastname,contactID绑定到下拉列表,并将firstname和lastname显示为text,contactID是该项的value字段。 有人可以就此提出一些建议吗?
答案 0 :(得分:12)
您需要使用options
binding,您需要指定:
options
中的项目数组(请参阅文档示例3)optionsValue: 'ContactID'
设置为将ContactID作为值optionsText
中指定一个函数(参见文档示例4)所以你的最终装订看起来像是:
<select id="selectmenu1" name="" data-theme="c"
data-bind="options: contacts,
optionsValue: 'ContactID',
optionsText: function(i) { return i.FirstName + ' ' + i.LastName },
optionsCaption: 'Choose...'">
</select>
答案 1 :(得分:0)
您可以使用knockout mapping插件。更多细节是 here
而且你也可以看得很棒 tutorial about how to load and save data