Javascript 如何在敲除中更改jquery范围滑块的最小值和最大值?

Javascript 如何在敲除中更改jquery范围滑块的最小值和最大值?,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,我试图将jQueryUI滑块绑定到我的模型,我想在我的最小和最大票价更改中更改它的最小和最大值 例如,如果: 最低票价=0,最高票价=100 然后: 滑块{min:0,max:100,值:[20,30],范围:true} 重新计算或更改时: 最低票价=20,最高票价=80 然后: 滑块{min:20,max:80,值:[20,30],范围:true} 扩展自定义绑定处理程序 ko.bindingHandlers.RangeSlider = { init: function

我试图将jQueryUI滑块绑定到我的模型,我想在我的最小和最大票价更改中更改它的最小和最大值

例如,如果:

最低票价=0,最高票价=100

然后:

滑块{min:0,max:100,值:[20,30],范围:true}

重新计算或更改时:

最低票价=20,最高票价=80

然后:

滑块{min:20,max:80,值:[20,30],范围:true}


扩展自定义绑定处理程序

    ko.bindingHandlers.RangeSlider = {
        init: function (element, valueAccessor, allBindingsAccessor) {
            var options = valueAccessor() || {};
            var others = allBindingsAccessor() || {};
            options.change = function (e, ui) {
                others.MinVal(ui.values[0]);
                others.MaxVal(ui.values[1]);
            }
            others.change = function () { }
            $(element).slider(options);
        },
        update: function (element, valueAccessor) {
            var options = ko.utils.unwrapObservable(valueAccessor()) || {},
                min = ko.utils.unwrapObservable(options.min),
                max = ko.utils.unwrapObservable(options.max);

            $(element).slider('option', 'min', min);
            $(element).slider('option', 'max', max);
        }
    };
我假设您绑定的是可观察的设置,或者至少设置中的最小值和最大值应该是可观察的:

var vm = function () {
    this.options = ko.observable({
        min: ko.observable(10),
        max: ko.observable(100)
    });
};

<div data-bind="RangeSlider: options"></div>
var vm = function () {
    this.options = ko.observable({
        min: ko.observable(10),
        max: ko.observable(100)
    });
};

<div data-bind="RangeSlider: options"></div>