簡體   English   中英

JS函數之間的變量范圍:未定義變量

[英]Variable Scope Between JS Functions: Variable Not Defined

我正在使用jQuery get函數將信息發送到另一個頁面並返回數據作為當前頁面的警報的腳本。 我正在嘗試從輸入表單(這有效)發送搜索字段值以及收集器ID,該ID是由在搜索表單上方的下拉菜單中選擇的選項生成的值。

不幸的是,運行腳本時,我不斷收到“ collector_id是未定義的錯誤”。 我認為我在變量范圍方面有問題..但是嘗試了許多選項,但似乎找不到解決方案,該解決方案保留了collect_id的值供get函數使用。

$( document ).ready(function() {

      $( ".search-field" ).keyup(function() {

//THIS FUNCTION UPDATES THE COLLECTOR ID VARIABLE FROM DROPDOWN MENU VALUE SELECTED BY USER
$( "select" )
  .change(function () {
    var collector_id = "";
    $( "select option:selected" ).each(function() {
      collector_id += $( this ).data('value') + " ";
    });
  })
  .change();

//THIS FUNCTION DOES A SEARCH ON ANOTHER PHP SCRIPT PASSING search and collector_id values
  if($(".search-field").val().length > 3) {
    var search = $(".search-field").val(); 
  $.get("query-include.php" , {search: search, collector_id: collector_id})
    .done(function( data ) {
      alert( "Data Loaded: " + data );
    });
  }
   }); 

  });

您只需要在更改之外初始化collector_id,因此它將在$ .get的范圍內

var collector_id = "";
$( "select" )
.change(function () {
    $( "select option:selected" ).each(function() {
        collector_id += $( this ).data('value') + " ";
    });
})
.change();

//THIS FUNCTION DOES A SEARCH ON ANOTHER PHP SCRIPT PASSING search and collector_id values
if($(".search-field").val().length > 3) {
    var search = $(".search-field").val(); 
    $.get("query-include.php" , {search: search, collector_id: collector_id})
    .done(function( data ) {
        alert( "Data Loaded: " + data );
    });
}
}); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM