【问题标题】:Can we change min / max values of jQuery UI slider in its change event?我们可以在其更改事件中更改 jQuery UI 滑块的最小/最大值吗?
【发布时间】:2012-11-08 14:52:23
【问题描述】:

我正在使用这个滑块。 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 click & 后面的代码中使用异步回发,我正在为隐藏字段设置新的最大限制(我需要将其应用于滑块)。 在btn.click(); 声明之后,我可以在change 事件中执行此操作吗?

【问题讨论】:

  • 您是否遇到任何错误?当你尝试时会发生什么?其余的代码在哪里? newValue 从何而来?它的类型是什么?
  • 您为什么不尝试一下并告诉我们它是否有效?
  • 不确定你的目标,但 ti 似乎最好使用它的停止事件,然后重新计算最大值并设置它并调用小部件的刷新

标签: javascript jquery jquery-ui


【解决方案1】:

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

如果你想在拖动时改变最大值,你应该使用“滑动”事件而不是改变。此处示例:http://jsfiddle.net/nxtwrld/gvSu6/1/

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

但我建议不要这样做,因为滑块将尝试根据新的最大值固定手柄位置,这将与拖动手柄发生碰撞并开始跳跃 - 正如 jsfiddle 中所见。

【讨论】:

    猜你喜欢
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多