我想即时修改滑块。我尝试使用以下命令来实现此目的
$("#slider").slider("option", "values", [50,80]);
此调用将设置值,但元素不会更新滑块位置。呼叫
$("#slider").trigger('change');
也无济于事。
是否有其他/更好的方法来修改值和滑块位置?
发布于 2010-05-14 18:51:04
这取决于您是要更改当前范围中的滑块还是要更改滑块的范围。
如果要更改的是当前范围内的值,则应该使用.slider()方法,但语法与您使用的稍有不同:
$("#slider").slider('value',50);
或者,如果你有一个有两个手柄的滑块,它将是:
$("#slider").slider('values',0,50); // sets first handle (index 0) to 50
$("#slider").slider('values',1,80); // sets second handle (index 1) to 80
如果它是您想要更改的范围,则为:
$("#slider").slider('option',{min: 0, max: 500});
发布于 2010-11-04 19:06:29
对我来说,这完美地触发了UI Slider上的幻灯片事件:
hs=$('#height_slider').slider();
hs.slider('option', 'value',h);
hs.slider('option','slide')
.call(hs,null,{ handle: $('.ui-slider-handle', hs), value: h });
别忘了在触发器之前通过hs.slider('option', 'value',h);
设置值。否则,滑块处理程序将与值不同步。
这里需要注意的一件事是,在使用html select
的情况下,h
是索引/位置(而不是值)。
发布于 2012-07-08 07:59:26
上面的答案对我来说都不起作用,也许它们是基于旧版本的框架?
我需要做的就是设置底层控件的值,然后调用刷新方法,如下所示:
$("#slider").val(50);
$("#slider").slider("refresh");
https://stackoverflow.com/questions/2833396
复制相似问题