将复选框绑定(bind)到选中的绑定(bind)并使用 jQuery Mobile 时,在选中增强型复选框时,可观察值不会更新。
参见here
我查看了两个库的代码,似乎 knockoutjs
绑定(bind)到了单击事件,但 jQuery Mobile 只更新了选中的值,而不会触发此事件,我已经捏造了通过黑客尝试让它毫无乐趣地工作..
有人有解决办法吗?
最佳答案
可能有更好的方法来做到这一点,但看看这个:
我添加了一个新的bindingHandler
:
ko.bindingHandlers.checkbox = {
update: function(element, valueAccessor) {
var value = valueAccessor();
var valueUnwrapped = ko.utils.unwrapObservable(value);
$(element).attr("checked", valueUnwrapped).checkboxradio("refresh");
}
};
并使用“事件”绑定(bind):
data-bind="event: {change: function(){ checked(!checked()); } }, checkbox: checked"
关于jquery - Knockout js 和 jQuery mobile - 复选框不更新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7467909/