我在加载页面时初始化我的范围滑块:
$("#slider").slider({
range: true,
min: 634606,
max: 734818,
step: 1,
values: [634606, 734818]
})
关于用户输入(html表单)我使用ajax请求从服务器检索数据。数据必须限制滑块(用户输入)。我正在尝试使用以下语法实现此目的:
// set new data values
$('#slider').slider('values',1, time[1]);
$('#slider').slider('values',0, time[0]);
// set new min/max limits
$("#slider").slider("option","max", time[1] );
$("#slider").slider("option","min", time[0] );
使用min选项后,手柄将无法再移动。如果我评论最后一行,可以移动句柄。 我处理滑块错了吗?我甚至试图破坏滑块并用新值重新启动它,没有运气......
答案 0 :(得分:2)
我发现了真正的问题......问题是时间数组包含字符串值而不是数字。这是来自ajax请求。这与滑块处理程序相矛盾。
我用以下代码解决了它:
$("#slider").slider("option","max", parseFloat(time[1]) );
$("#slider").slider("option","min", parseFloat(time[0]) );
感谢您提供的信息!
答案 1 :(得分:0)
您可以通过传入一个对象来设置值,如下所示:
$("#slider").slider({ min: time[0], max: time[1], values: time });
如果time[]
中包含更多值,那么您的对象应该是这样的:
$("#slider").slider({ min: time[0], max: time[1], values: [time[0], time[1]] });
像上面的代码那样做可以解决你的最小/最大问题,如果你想坚持你当前的方法,然后设置这样的值:
$("#slider").slider("option", "values", time); //or...
$("#slider").slider("option", "values", [time[0],time[1]]);