2

私はknockout.jsを使用していoptions binding on select-listます。フィドルの例を作成しました。

http://jsbin.com/uzecaf/12/edit

しかし、問題はuiに値のテキストを表示する代わりに、[オブジェクトオブジェクト]がuiに表示されることです。私は何を間違っていますか?

編集

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パラメータは であるstringため、プロパティ名を文字列として渡す必要があります。

バインディングは次のようになります。

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

デモを参照してください。

于 2012-10-28T09:31:37.593 に答える