2012-10-28 7 views
2

knockout.js options binding on select-list을 사용하고 있습니다. I는 예시 바이올린 생성 :녹아웃의 옵션 바인딩 관련 문제

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> 
+0

질문에 코드를 복사하면 사람들이이 작업을하기 위해 무엇을 변경해야하는지 볼 수 있습니다. – sgtz

+0

@sgtz 질문을 편집 해주세요. 답변을 위해 –

답변

1

귀하 select 바인딩이 잘못되었으므로 optionsText parameterstring이므로 속성 이름을 문자열로 전달해야합니다.

여러분과 같아야 바인딩 :

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

Demo를 참조하십시오.

+0

감사합니다. –