2014-09-19 50 views
1

我有这样的代码:KnockOut.JS optionsText

self.Groups = ko.observableArray(); 
function LoginNameObject(name) { 
    this.loginName = name; 
} 

self.Groups.push(new LoginNameObject('Blah')); 

我想在这样的HTML绑定:

<select data-bind="options: Groups, optionsText: loginName"></select> 

但不断获取LOGINNAME是不确定的,当它试图绑定。任何帮助,将不胜感激!

感谢

回答

2

在您需要指定属性名是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> 
+0

谢谢!这是一个快速修复! – functionalCode 2014-09-19 17:52:05