【问题标题】:knockoutjs and jQuery mobile - checkbox doesnt update valueknockoutjs 和 jQuery mobile - 复选框不更新值
【发布时间】:2011-11-20 00:59:04
【问题描述】:

将复选框绑定到选中的绑定并使用 jQuery mobile 时,在选中增强的复选框时,observable 不会更新。

见here

我查看了这两个库的代码,似乎knockoutjs 绑定到单击事件,但 jQuery 移动仅更新不会触发此事件的检查值,我已经捏造了一些黑客来尝试让这个工作毫无乐趣..

有人有解决方法吗?

【问题讨论】:

    标签: jquery jquery-mobile knockout.js


    【解决方案1】:

    可能有更好的方法来做到这一点,但看看这个:

    http://jsfiddle.net/vQRWQ/

    我添加了一个新的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"
    

    【讨论】:

      猜你喜欢
      • 2013-09-28
      • 1970-01-01
      • 2013-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-24
      • 2012-03-10
      • 1970-01-01
      相关资源
      最近更新 更多