Javascript 如何在敲除中更改jquery范围滑块的最小值和最大值?
我试图将jQueryUI滑块绑定到我的模型,我想在我的最小和最大票价更改中更改它的最小和最大值 例如,如果: 最低票价=0,最高票价=100 然后: 滑块{min:0,max:100,值:[20,30],范围:true} 重新计算或更改时: 最低票价=20,最高票价=80 然后: 滑块{min:20,max:80,值:[20,30],范围:true}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
扩展自定义绑定处理程序
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>