2011-09-19 3 views
2

체크 된 바인딩에 체크 박스를 바인딩하고 jQuery 모바일을 사용하면 향상된 확인란을 선택했을 때 관찰 가능 항목이 업데이트되지 않습니다.knockoutjs 및 jQuery mobile - checkbox doesnt 업데이트 값

here

나는 두 라이브러리의 코드를 보았다보고는 knockoutjs는 클릭 이벤트에 바인딩, 아직 jQuery를 모바일에만이 이벤트가 발생하지 않는 확인 값을 업데이트, 내가 주변은 과장 것 같다 아무런 기쁨없이이 작업을하려고하는 해킹과 함께.

누구도이 문제를 해결할 수 있습니까?

답변

0

가이 작업을 할 수있는 더 좋은 방법이 될 수 있지만, 이것 좀있을 수 있습니다 : 나는 새로운 bindingHandler 추가 한

http://jsfiddle.net/vQRWQ/

:

ko.bindingHandlers.checkbox = { 
    update: function(element, valueAccessor) { 

     var value = valueAccessor(); 

     var valueUnwrapped = ko.utils.unwrapObservable(value); 

     $(element).attr("checked", valueUnwrapped).checkboxradio("refresh"); 
    } 
}; 

을 그리고 "이벤트를 사용 "바인딩 :

data-bind="event: {change: function(){ checked(!checked()); } }, checkbox: checked"