我有一个ui.slider,并在运行时更改它的最小值和最大值。但是,这些变化只会在视图中反映出来,当我再次设置值(这导致它触发不需要的事件)时。在我看来,它应该在设置最小和最大值之后刷新视图。有没有一个简单的解决方法,似乎是一个刷新方法缺少滑块。
$("#something").slider({ range: true,values: [25,75],min: 0,max: 100 }); $("#something").slider("option","min",25); // left handle should be at the left end,but it doesn't move $("#something").slider("option","values",[25,75]); // the left handle is now at the left end,but doing this triggers events
编辑此问题已在jQuery UI 1.9中修复
解决方法
我不知道这是否是jQuery UI滑块中的错误,但无论如何,您可以做的是更改当前值(在技术上,将当前值设置为当前值…),以强制更新视图。在
the documentation之后,这意味着要做这样的事情:
$(function() { var $slide = $("#something").slider({ range: true,max: 100 }); $slide.slider("option",but it doesn't move $slide.slider("value",$slide.slider("value")); //force the view refresh,re-setting the current value });