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

时间:2017-02-02 03:14:08

标签: javascript loops variables global-variables

我点击按钮运行此功能。每当我改变smth并将值存储在a上时,我希望它每次都存储在全局变量上。但它没有。

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>

当我在onchange上分配函数时 - &#34;&#34;在选择它给我一个无限循环https://jsfiddle.net/x3s8pyam/1/

1 个答案:

答案 0 :(得分:0)

您不会在函数的任何位置将新值重新分配给a。所以,它不会改变。

a = selected1;视为“a”被分配为“Selected1”。而Selected1 = a;反之亦然。这有助于我:)