jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery-ui – 使用jquery ui滑块使用knockout js大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道如果knockout js会很好地处理以下问题:

我有多个滑块,我想链接到文本框.

当文本框更改时,相应的滑块必须更新为新值,反之亦然.

在更改滑块值或文本框时,需要调用使用所有文本框的输入来计算结果的函数.

我有我的快速和肮脏的jQuery解决方here.

使用knockout js以更优雅的方式实现相同的结果是否容易?

我想我将需要创建一个自定义绑定处理程序,就像在jQuery UI datepicker change event not caught by KnockoutJS中完成的那样

解决方法

这是一个例子: http://jsfiddle.net/jearles/Dt7Ka/

我使用自定义绑定来集成jquery-ui滑块,并使用Knockout来捕获输入并计算净量.

UI

<h2>Slider Demo</h2>

Savings: <input data-bind="value: savings,valueUpdate: 'afterkeydown'" />
<div style="margin: 10px" data-bind="slider: savings,sliderOptions: {min: 0,max: 100,range: 'min',step: 1}"></div>

Spent: <input data-bind="value: spent,valueUpdate: 'afterkeydown'" />
<div style="margin: 10px" data-bind="slider: spent,step: 1}"></div>

Net: <span data-bind="text: net"></span>

查看模型

ko.bindingHandlers.slider = {
  init: function (element,valueAccessor,allBindingsAccessor) {
    var options = allBindingsAccessor().sliderOptions || {};
    $(element).slider(options);
    ko.utils.registerEventHandler(element,"slidechange",function (event,ui) {
        var observable = valueAccessor();
        observable(ui.value);
    });
    ko.utils.domNodeDisposal.addDisposeCallback(element,function () {
        $(element).slider("destroy");
    });
    ko.utils.registerEventHandler(element,"slide",ui) {
        var observable = valueAccessor();
        observable(ui.value);
    });
  },update: function (element,valueAccessor) {
    var value = ko.utils.unwrapObservable(valueAccessor());
    if (isNaN(value)) value = 0;
    $(element).slider("value",value);
  }
};

var viewmodel = function() {
    var self = this;

    self.savings = ko.observable(10);
    self.spent = ko.observable(5);
    self.net = ko.computed(function() {
        return self.savings() - self.spent();
    });
}

ko.applyBindings(new viewmodel());

大佬总结

以上是大佬教程为你收集整理的jquery-ui – 使用jquery ui滑块使用knockout js全部内容,希望文章能够帮你解决jquery-ui – 使用jquery ui滑块使用knockout js所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: