2017-02-02 6 views
0

Я запускаю эту функцию нажатием кнопки. Каждый раз, когда я меняю smth, и я храню значение в a, я хочу, чтобы он каждый раз сохранял глобальную переменную. Но это не так.Как обновить глобальное значение после вызова onchange?

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- «» на выбор это дает мне бесконечный цикл https://jsfiddle.net/x3s8pyam/1/

+1

'Selected1 = a;' не то же самое, что делать 'a = Selected1;' Ничего не изменит значение 'a' – charlietfl

+0

@charlietfl Я попытался это исправить, и он все еще показывает 0 – ned

+0

Мы не знаем, что такое 'arr'. Создайте демоверсию, которая воспроизводит проблему – charlietfl

ответ

0

Вы не переназначение новое значение - a в любой точке функции. Таким образом, это не изменится.

Подумайте о a = selected1;, так как чтение «a» присваивается «Selected1». И Selected1 = a; как наоборот. Это помогает мне :)

 Смежные вопросы

  • Нет связанных вопросов^_^