我有这个代码:
self.Groups = ko.observableArray();
function LoginNameObject(name) {
this.loginName = name;
}
self.Groups.push(new LoginNameObject('Blah'));
我正在尝试像这样在 html 中进行绑定(bind):
<select data-bind="options: Groups, optionsText: loginName"></select>
但在尝试绑定(bind)时继续获取 loginName is undefined。任何帮助将不胜感激!
谢谢
最佳答案
在 optionsText
中,您需要指定您的属性名称是一个字符串。
所以你需要写
<select data-bind="options: Groups, optionsText: 'loginName'"></select>
另请参阅文档:Example 3: Drop-down list representing arbitrary JavaScript objects, not just strings
或者,如果您需要更复杂的逻辑来计算选项文本,您还可以将 optiosText
指定为函数:
<select
data-bind="options: Groups, optionsText: function(item) { return item.loginName }">
</select>
关于javascript - KnockOut.JS 选项文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25939644/