在淘汰赛中选项绑定的问题

时间:2012-10-28 08:55:45

标签: javascript jquery knockout.js

我正在使用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> &nbsp;&nbsp;
<select data-bind="options: books, optionsText: Name">
</select>

1 个答案:

答案 0 :(得分:1)

您的select绑定错误,optionsText parameterstring,因此您需要将属性名称作为字符串传递给他人。

您的绑定应如下所示:

<select data-bind="options: books, optionsText: 'Name'">

请参阅Demo