从jQuery事件更新全局变量

时间:2019-08-04 17:47:19

标签: javascript jquery arrays variables jquery-ui

首先,请注意,我是jQuery新手,并且对js的经验有限,因此这可能是一个愚蠢的问题,但是我没有人要寻求帮助。

我有一个提供两年值的jQuery范围滑块。我已经成功创建了一个包含最小和最大年份的变量。 我不确定用户与范围滑块互动后如何更新最小/最大年份变量。 我需要最小/最大年份值作为变量,以用作地图/ geojson查询的过滤器。

我试图声明等于ui.value(0)和ui.value [0]的变量,但是据我所知。 (例如:yrmin = ui.value[0];) 我唯一可以肯定的是,我还不够了解。任何方向,评论,建议或相关练习/问题的链接等都将非常有用。

var yrmin = ''; 
var yrmax = ''; 
$( function() {
    $( "#slider-range" ).slider({
                range: true,
                min: 1900,
                max: 2020,
                values: [ 1945, 1995 ],
                slide: function( event, ui ) {
                  $( "#amount" ).val( " " + ui.values[ 0 ] + " - " + ui.values[ 1 ] );
                }
    });
    $( "#amount" ).val( " " + $( "#slider-range" ).slider( "values", 0 ) +
    " - " + $( "#slider-range" ).slider( "values", 1 ) );
    yrmin = $("#slider-range").slider("values", 0);
    yrmax = $("#slider-range").slider("values", 1);
}); 

当我使用yrmin = ui.value(0);时,控制台会记录一个未定义的ui错误。

1 个答案:

答案 0 :(得分:1)

您可以使用(窗口),但是我建议尽量避免使用全局方法

  

窗口范围

window.yrmin = $("#slider-range").slider("values", 0);
window.yrmax = $("#slider-range").slider("values", 1);