Javascript 如何在onchange调用后更新全局值?

Javascript 如何在onchange调用后更新全局值?,javascript,loops,variables,global-variables,Javascript,Loops,Variables,Global Variables,我只需单击按钮即可运行此函数。每次我更改smth并将值存储在上时,我希望它每次都存储在全局变量上。但事实并非如此 function ChangeStuff() { var localVariable; $("#loc").change(function() { $("select option:selected").each(function() { Selected = $("#loc").find("option:selected").text(); }); arr

我只需单击按钮即可运行此函数。每次我更改smth并将值存储在上时,我希望它每次都存储在全局变量上。但事实并非如此

function ChangeStuff() {
var localVariable;
$("#loc").change(function() {

  $("select option:selected").each(function() {

    Selected = $("#loc").find("option:selected").text();
  });

  arr.forEach(function(locItem) {
    if (Selected === locItem.s) {
      Selected1 = locItem._id;
    }

  });
  a = Selected1;
  //inside here shows correctly
  console.log(a);
  //apple //banana according to what i chose
}).change(); 
         }
     //here the global variable a is still 0;
       console.log(a);
       //0

 //i press continue to fire the function
//so everytime it changes I want it to update
这就是我启动函数的地方

    <button  data-ver="1" id="Continue" onclick="ChangeStuf();">Continue</button>

       <select class="wide-control form-control default" id="locations" >
       <option>Apple</option>
        <option>Pear</option>
        <option>Banana</option>
        <option>Orange</option>
          </select>
继续
苹果
梨
香蕉
橙色

当我在select上指定函数onchange-“”时,它会给我一个无限循环

您不会在函数中的任何点将新值重新指定给
a
。所以,这不会改变


想想
a=selected1如“a”这样的读数被指定为“Selected1”。和
Selected1=a反之亦然。这对我很有帮助:)

Selected1=a与执行
a=Selected1不同显示的任何内容都不会改变
a
@charlietfl的值。我试图这样修复它,但它仍然显示0我们不知道
arr
是什么。创建一个重现问题的演示我们也不知道调用
ChangeStuff()
时是否或在何处调用,或者在代码运行时是否选择了任何内容“此处全局变量a仍然为0;”是什么意思?“这里”到底在哪里?是否这部分代码只是在发生任何更改之前(以及更新代码运行之前)执行的?