페이지로드가 완료된 후 데이터베이스에서 값을 가져오고 검색된 값에 따라 여러 개의 드롭 다운을 채울 함수를 실행해야합니다. 양식 컨트롤의 변경 이벤트와 같습니다.녹아웃을 사용할 때 값을 설정할 때 함수를 실행하는 방법
Knockout.js를 사용하여 어떻게 할 수 있습니까?
감사합니다.
페이지로드가 완료된 후 데이터베이스에서 값을 가져오고 검색된 값에 따라 여러 개의 드롭 다운을 채울 함수를 실행해야합니다. 양식 컨트롤의 변경 이벤트와 같습니다.녹아웃을 사용할 때 값을 설정할 때 함수를 실행하는 방법
Knockout.js를 사용하여 어떻게 할 수 있습니까?
감사합니다.
다음은 빠르고 간단한 예입니다. 아이디어는 다음과 같습니다.
getJSON
을 사용하여 서버에서 데이터를 검색하십시오.getJSON
의 콜백에 드롭 다운 목록을 채 웁니다. 귀하를 정확하게 이해하면 드롭 다운 목록의 실제 내용은 검색되지 않지만 어떤 옵션이 표시 될지 결정하는 데 도움이되는 정보는 제공되지 않습니다. 이 아이디어를 예제에 통합했습니다.Btw, 국가는 문자열의 배열 일 필요는 없습니다. 복잡한 JS 객체의 배열 일 수 있습니다. 그러나 귀하의 data-bind="options: ..."
바인딩을 optionsText
및 optionsValue
으로 확장하여 개체의 어떤 속성이 레이블과 값인지 나타내야합니다. 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']);
}
});
}
http://knockoutjs.com/examples/controlTypes.html http://knockoutjs.com/documentation/options-binding.html과 같은 드롭 다운의 경우 ko.observableArray로 바인딩을 바꿉니다. 그런 다음로드 된 데이터로이 배열을 채 웁니다.