我有一个带有自定义步骤的 jquery范围滑块,它有两个句柄(最小和最大),在我的 .aspx 页面中选择一个封闭区域来过滤结果。一旦我点击确认按钮,页面回发并显示我的理想结果。
但是我第一次想移动右边的手柄时,左边的手柄会移动。当我记录当前句柄时,它始终是左侧显示的句柄。我不明白为什么。
这是我的代码的一部分:
var stepvalues = ["0", "3000", "5000"];
$("#slider-range").slider({
range: true,
min: 0,
max: 2,
step: 1,
values: [0, 5000],
slide: function (event, ui) {
console.log($(ui));
console.log($(ui.handle));
}
});
你有什么线索吗?
非常感谢你。
编辑:
我想要做的是最小/最大范围是从 0 到 5000,当我移动滑块时有 3 个可能的值。它只能是 0 或 3000 或 5000。
现在我可以移动滑块以显示相对值,并且在我提交表单进行搜索时它可以工作。但是一旦它进行回发,当我第一次移动右边的滑块时,左边的滑块就会移动。这对我来说是一个奇怪的行为。我希望它正常工作。
当我登录“ui”时,它有几个属性:
Object { handle=a.ui-slider-handle, value=3, values=[2]}
“ui.handle”的值始终是我滑块中的第一个句柄;
“ui.value”的值总是第一个句柄的值;
而“ui.values”包含两个句柄的值。
编辑:
我发现很难操纵 $(ui.handle),我使用以下代码来解决我的问题。
$("#slider-range").slider('option', 'values', [min, max]);