从 jQuery 事件更新全局变量

Update global variable from jQuery event

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

我有一个 jQuery 范围滑块,它提供两个年份值。我已经成功创建了一个包含最小和最大年份的变量。 我不确定在用户与范围滑块交互后如何更新 min/max 年变量。 我需要 min/max 年值作为变量用作 map/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 未定义错误..

您可以使用 (window),但我建议您尽可能避免使用全局方法

window scope

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