我是 knockout.js 的新手。我无法使用knock out js 将数据从api 绑定(bind)到下拉列表。
我来自 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>
我只是将名字、姓氏、contactID 绑定(bind)到下拉列表并将名字和姓氏显示为文本,而 contactID 是该项目的值字段。 有人可以就此提出一些建议吗?
最佳答案
您需要使用options
binding ,您需要在其中指定:
选项
中的项目数组(请参阅文档示例 3)- 您需要设置
optionsValue: 'ContactID'
以将 ContactID 作为值 - 您需要在
optionsText
中指定一个函数来构建您选择的文本(请参阅文档示例 4)
所以你的最终绑定(bind)将如下所示:
<select id="selectmenu1" name="" data-theme="c"
data-bind="options: contacts,
optionsValue: 'ContactID',
optionsText: function(i) { return i.FirstName + ' ' + i.LastName },
optionsCaption: 'Choose...'">
</select>
演示 JSFiddle.
关于jquery - 如何使用knockout.js将数据动态绑定(bind)到下拉列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18124895/