将复选框绑定到选中的绑定并使用jQuery mobile时,如果选中增强复选框,则observable不会更新。
请参阅here
我查看了两个库的代码,似乎knockoutjs
绑定到了click事件,但是jQuery mobile只更新了没有触发此事件的已检查值,我已经乱搞了试着让这个工作没有快乐..
有没有人有解决方法呢?
答案 0 :(得分:0)
可能有更好的方法可以做到这一点,但请看一下:
我添加了一个新的bindingHandler
:
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"