【问题标题】:knockout custom select binder with update function具有更新功能的淘汰赛自定义选择活页夹
【发布时间】:2015-07-14 17:34:36
【问题描述】:

我正在尝试开发自定义选择活页夹,但我无法理解如何开发更新功能。目前this 是我所做的。我想要自定义活页夹来处理这种类型的数据

[{
    message: "Hello",
    Value: 1
}, {
    message: "Hi",
    Value: 2
}, {
    message: "Bye",
    Value: 3
}, ]

【问题讨论】:

  • 我要获取选中的值。

标签: javascript jquery knockout.js custom-binding


【解决方案1】:

据我了解,问题是:您正在使用Bootstrap Fullscreen Select,您可以对其进行初始化,但是当您选择一个新值时,不会更新任何可观察值。基本上,我们需要知道何时选择了新值。

由于小部件的工作方式是弹出一个选项屏幕并允许您选择一个,然后关闭该弹出窗口,并且小部件提供了执行onClose 回调的能力,这就是我们所需要的。

我在选择中使用value 绑定的标准约定。小部件关闭时,如果新值与绑定值不同,我会将绑定值更新为小部件中选择的新值。

ko.bindingHandlers.menu = {
    init: function (element, valueAccessor, allBindingsAccessor, viewModel) {
        var valueObservable = allBindingsAccessor().value;
        $(element).mobileSelect({
            onClose: function () {
                var newValue = $(this).val();
                if (newValue !== valueObservable()) {
                    valueObservable(newValue);
                }
            }
        });
    }
};

作为一个小提琴:http://jsfiddle.net/4zsu9pv2/4/

【讨论】:

  • 谢谢..我很难理解功能
猜你喜欢
  • 2018-10-15
  • 1970-01-01
  • 2014-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-19
  • 1970-01-01
  • 2013-05-04
相关资源
最近更新 更多