javascript - KnockOut.JS 选项文本

标签 javascript knockout.js

我有这个代码:

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/

相关文章:

javascript - 当数组由对象组成时,Knockout checkedValue 绑定(bind)不起作用

javascript - Knockout.js - 防止多次表单提交

javascript - knockout 图片同时绑定(bind)图片和文字时不显示

javascript - 没有从 ajax 函数调用 PHP 脚本

javascript - 防止默认操作但不停止事件传播

javascript - 使用 Facebook 的 API 通过提要对话框发布视频失败

javascript - 如何在移动设备上的溢出滚动元素上保留滚动链?

model-view-controller - Knockout Js 字典显示 MVC

javascript - 无数据库分页

javascript - 主干 View - 跨组件通信