我正在使用knockout.js options binding on select-list
。我创建了一个示例小提琴:
http://jsbin.com/uzecaf/12/edit
但问题是不是在ui上显示值文本,而是在ui上显示[object object]。我做错了什么?
修改
Js代码
function AuthorVM(){
this.Name = ko.observable("bla-bla");
this.books = ko.observableArray(
[
new BookVM('book-1', '1'),
new BookVM('book-2', '2'),
new BookVM('book-3', '3'),
new BookVM('book-4', '4')
]
);
}
function BookVM(name, id){
this.Name = name;
this.Id = id;
}
ko.applyBindings(new AuthorVM());
标记
<label data-bind="text: Name"></label>
<select data-bind="options: books, optionsText: Name">
</select>
答案 0 :(得分:1)
您的select
绑定错误,optionsText parameter是string
,因此您需要将属性名称作为字符串传递给他人。
您的绑定应如下所示:
<select data-bind="options: books, optionsText: 'Name'">
请参阅Demo。