2013-10-02 2 views

답변

3

이 샘플을 살펴보십시오. Bind Combo With KnockoutJS (Durandal은 녹아웃을 사용하므로이 샘플 코드의 대부분을 가져 와서 재사용 할 수 있어야합니다).

function ViewModel(actorsList) { 
    var self = this; 
    this.actorsList = actorsList; 

    this.actors = ko.observableArray(self.actorsList); 

    // The name of the currently selected customer. 
    this.actorName = ko.observable(self.actors()[0].name); 
} 

(I 샘플로 일부를 편집 한 :로

기본적으로, 당신의 ViewModel에이 샘플이 정의 된 'actorName'의에, 현재의 선택을 개최한다 그 여분의 관찰이 필요합니다

<span id="comboActors" data-bind="igCombo: { 
    text: actorName, 
    dataSource: actors, 
    textKey: 'name', 
    valueKey: 'id', 
    allowCustomValue : true, 
    enableSelectionChangedUpdate: true, 
    width: '200', 
    mode: 'dropdown', 
    enableClearButton: false 
}"></span> 
,369 : 샘플처럼이 추가로 관찰 '텍스트'에 속성을 바인딩 할보기에서 콤보 콤보 slection에) 그런 다음

을 수정하는 데 사용되는 두 번째 선택 요소가

name이 observable에있는 viewmodel에 전달한 값이고 동일한 'name'속성이 텍스트 키로 정의 된 것에 주목하십시오.이 때문에 텍스트를 설정할 때 콤보가 실제로 적절한 항목을 선택하게됩니다. 이제 당신이 할 필요가 예를 들어, 값을 수정할 수 있습니다 :

viewModel.actorName("Jeremy Irons"); 

을 그리고 콤보 (당신도 콘솔의 코드를 사용하여 샘플이 시도 할 수 있습니다) 선택을 변경합니다. 기본 사항입니다.이 구현을 프로젝트에 적용 할 수없는 경우를 대비하여 체크 아웃 할 수있는 Configuring Knockout Support (igCombo)Knockout/Durandal 설명서가 있습니다.

관련 문제