如何在设置最小值或最大值后刷新jQuery UI Slider?

Man*_*ger 25 jquery jquery-ui slider max min

我有一个ui.slider并在运行时更改它的最小值和最大值.但是这些更改只会在视图中反映出来,当我之后设置值时(这会导致它触发不需要的事件).在我看来,它应该在设置min和max之后刷新视图.有一个简单的解决方法,似乎滑块缺少刷新方法.

$("#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
Run Code Online (Sandbox Code Playgroud)

编辑此问题已在jQuery UI 1.9中修复

tsi*_*lar 29

我不知道这是否是jQuery UI滑块中的错误,但无论如何,您可以做的是更改当前值(从技术上讲,将当前值设置为当前值...)以强制刷新视图.在文档之后,这意味着做这样的事情:

$(function() { 
    var $slide = $("#something").slider({
        range: true,
        values: [25, 75],
        min: 0,
        max: 100
    });
    $slide.slider("option", "min", 25); // left handle should be at the left end, but it doesn't move
    $slide.slider("value", $slide.slider("value")); //force the view refresh, re-setting the current value
});  
Run Code Online (Sandbox Code Playgroud)