2011-08-15 3 views
3

다중 선택 목록 상자 http://www.quasipartikel.at/multiselect/에이 jQuery 플러그인을 사용하고 있으며, 모두 knockoutjs를 사용하여보기 모델에 바인딩됩니다.녹아웃은 옵션의 선택된 속성 집합을 동기화하지 않습니다.

플러그인은 항목을 선택하거나 선택 취소 할 때 옵션의 선택한 속성을 설정합니다. 그러나 녹아웃은 분명히 그 속성의 변경을 검사하지 않으므로 내 뷰 모델은 업데이트되지 않습니다.

이제 플러그인을 변경하고 사용자 정의 바인딩을 작성하기 전에 knockoutjs에게 선택된 속성을 모니터 할 수있는 방법이 있습니까?

답변

0

클릭 이벤트를 처리하도록 knockout을 설정하는 것이 가장 쉽습니다.

예를

를 들어 이 <li>이 또는 당신이 생각하는대로 오른쪽에 추가, 선택하려면

data-bind="click: function(){ select(country); }" 

이 선택 해제 <li>이 또는 당신이 생각하는대로 왼쪽에 추가하려면 최고는 최고

data-bind="click: function(){ deselect(country); }" 

그리고 observableArrays를 추가/제거/이동하는 핸들러가 필요합니다.

viewModel = { 
    select: function(){ /* add to observableArray */ }, 
    deselect: function(){ /* remove from observableArray */ } 
}; 
+0

이것은 결국 내가 한 일입니다. – adriaanp

관련 문제