我们可以在更改事件中更改jQuery UI滑块的最小/最大值吗?

时间:2012-11-08 14:52:23

标签: javascript jquery jquery-ui

我正在使用此滑块。 http://docs.jquery.com/UI/API/1.8/Slider

当我移动滑块时,我正在更新最大限制。现在我需要将这个新的最大值也应用于滑块。如果我做这样的事情会改变吗:

$("#slider").slider({
    change: function () {
        .....
        .....
        var btn = document.getElementById('<%=btnUpdate.ClientID%>');
        btn.click();
        $("#slider").slider( "option", "max", newValue);
        .....
}

这里我在btnUpdate点击&amp;上使用异步回发在后面的代码中,我将新的最大限制(我需要应用于滑块)设置为隐藏字段。 我可以在btn.click();事件中change语句之后执行此操作。

1 个答案:

答案 0 :(得分:0)

更改方法将起作用,但在停止拖动后将重置max。

如果要在拖动时更改最大值,则应使用“slide”事件而不是更改。示例:http://jsfiddle.net/nxtwrld/gvSu6/1/

        slide: function( event, ui ) {
           $(this).slider("option", "max", newValue);
        }

但是我建议不要这样做,因为滑块将尝试根据新的最大值来修复手柄位置,这将与拖动手柄相撞并且它将开始跳跃 - 正如在jsfiddle中可以看到的。