我有一个带有自定义步骤的 jquery 范围 slider ,它有两个句柄(最小和最大),选择一个封闭区域来过滤我的 .aspx 页面中的结果。一旦我点击确认按钮,页面就会回发并显示我的理想结果。
但是第一次我想移动右侧的 handle ,移动的是左侧的 handle 。当我记录当前句柄时,它始终显示左侧的句柄。我不明白为什么。
这是我的代码的一部分:
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));
}
});
你有什么线索吗?
非常感谢您。
编辑:
我想要做的是当我移动 slider 时,最小/最大范围是从 0 到 5000,有 3 个可能的值。只能是 0 或 3000 或 5000。
现在我可以移动 slider 来显示相对值,并且当我提交搜索表单时它可以工作。但是一旦它完成回发,当我第一次移动右侧的 slider 时,左侧的 slider 就会移动。这对我来说是一种奇怪的行为。我希望它能正常工作。
当我登录“ui”时,它有几个属性:
Object { handle=a.ui-slider-handle, value=3, values=[2]}
“ui.handle”的值始终是 slider 中的第一个句柄;
“ui.value”的值始终是第一个句柄的值;
而“ui.values”包含两个句柄的值。
编辑:
我发现很难操作 $(ui.handle),我使用了以下代码来解决我的问题。
$("#slider-range").slider('option', 'values', [min, max]);
最佳答案
由于我自己解决了这个问题,所以我将工作代码放在这里并将其标记为已解决!
$("#slider-range").slider('option', 'values', [min, max]);
关于jquery - 如何在回发后操作 jQuery UI 范围 slider 中的 ui.handle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12624425/