2012-09-03 4 views

답변

0

다음은 빠르고 간단한 예입니다. 아이디어는 다음과 같습니다.

  1. 드롭 다운 할 데이터를 보관할 관찰 가능 어레이를 설정합니다. 처음에는 배열이 비어 있고 드롭 다운에는 내용이 없습니다.
  2. getJSON을 사용하여 서버에서 데이터를 검색하십시오.
  3. getJSON의 콜백에 드롭 다운 목록을 채 웁니다. 귀하를 정확하게 이해하면 드롭 다운 목록의 실제 내용은 검색되지 않지만 어떤 옵션이 표시 될지 결정하는 데 도움이되는 정보는 제공되지 않습니다. 이 아이디어를 예제에 통합했습니다.

Btw, 국가는 문자열의 배열 일 필요는 없습니다. 복잡한 JS 객체의 배열 일 수 있습니다. 그러나 귀하의 data-bind="options: ..." 바인딩을 optionsTextoptionsValue으로 확장하여 개체의 어떤 속성이 레이블과 값인지 나타내야합니다. Look here for more details.

var CompanyViewModel = function() 
{ 
    var self = this; 

    self.Countries = ko.observableArray(); 

    $.getJSON('api/countries', function(data) { 
     if(data == 1) 
     { 
      self.Countries(['France', 'Germany', 'Spain']) 
     } else if(data == 2) 
     { 
      self.Countries(['Holland', 'Belgium', 'Luxemburg']); 
     } 
    }); 
}