2

我正在使用 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>
4

1 回答 1

1

您的select绑定错误,optionsText 参数是 astring所以您需要将属性名称作为字符串传递给那里。

您的绑定应如下所示:

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

请参阅演示

于 2012-10-28T09:31:37.593 回答