【问题标题】:jQuery UI Slider: access options from function associated with the slide eventjQuery UI Slider:从与幻灯片事件关联的函数中访问选项
【发布时间】:2013-04-09 21:35:31
【问题描述】:

我有一个这样定义的滑块:

$( "#myslider").slider({
    range: true,
    min: min_val,
    max: max_val,
    values: [ min_val, max_val ],
    slide: function(event, ui){
        $('#input_min').val(ui.values[0]);
        $('#input_max').val(ui.values[1]);
    },
});

min_valmax_val 可以更改的位置。

现在假设在与幻灯片事件关联的函数中,我想检查当前的最小值和最大值是否与初始值不同。

我知道我可以使用ui.values 访问当前值,并且可以使用以下代码获取初始最小值和最大值:

var inital_min = $( "#myslider").slider("option", "min");
var inital_max = $( "#myslider").slider("option", "max");

但这对我来说看起来很愚蠢,因为我已经从回调中获得了 ui 对象。

我尝试使用 firebug 导航对象,但找不到我要查找的内容。

那么,还有其他方法可以获取这些值吗?

【问题讨论】:

  • 您可以查看幻灯片回调上下文this 它可能是输入本身,您可以从中调用这些滑块以获取初始选项。

标签: javascript jquery jquery-ui uislider


【解决方案1】:

您可以使用它来访问它。我把它摆弄给你了。

http://jsfiddle.net/dhQk/vr2Mg/

var i_max = $(this).slider('option', 'max');
var i_min = $(this).slider('option', 'min');

不幸的是,根据官方参考资料,本地对象不会拥有它。 http://api.jqueryui.com/slider/#event-slide

【讨论】:

    【解决方案2】:

    可以在幻灯片回调中重复使用 min_val 和 max_val 变量。

    【讨论】:

      【解决方案3】:

      这不是真的,你可以在一个方法中获取滑块对象并访问它们,使用事件对象:

      $(event.target).slider("option","max")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-25
        • 1970-01-01
        • 1970-01-01
        • 2014-11-30
        • 1970-01-01
        • 2014-01-18
        • 2011-07-13
        • 2015-07-27
        相关资源
        最近更新 更多