Передать значение из AddEventListener в переменную
Здравствуйте.
Подскажите, можно ли как-то взять значение из обработчика событий и сохранить его в переменную для дальнейшего использования? var model = document.getElementById('model'); var rest = document.querySelectorAll('#res p span'); model.addEventListener("input", dve); function dve (dv) { if (model.value === 'В02') { dv = V02; } else if (model.value === 'В03дп') { dv = V03dp;} else if (model.value === 'В02Б') { dv = V02b; }else if (model.value === 'В02Г') { dv = V02g; } rest[0].innerHTML = dv; }; В общем надо как-то вытащить значение dv или как правильно это значение вывести. Но оно меняется динамически при выборе того или иного OPTION пользователем на сайте |
Через свич удобнее читать такой код.
var model = document.getElementById('model'); var rest = document.querySelectorAll('#res p span'); model.addEventListener('input', dve()); function dve ( ) { switch (model.value) { case 'В02': dv = V02; break; case 'В03дп': dv = V03dp; break; case 'В02Б': dv = V02b; break; case 'В02Г': dv = V02g; break; } rest[0].innerHTML = dv; }; И если значения dv это текст, а не переменная, то нужно их в кавычки взять: dv = 'V02'; break; dv = 'V03dp'; break; и т.д. |
dv это числа, т.е. это переменная.
Вот она и нужна мне для других вычислений. Т.е. пользователь в форме выбрал опцию, мы получаем определенное значение переменной dv, а дальше надо как-то эту величину использовать в других вычислениях вне этой функции |
miknn, вынесите нужную переменную в глобальную область видимости или из event listener'а вызывайте какую-нибудь функцию, передавая ей необходимое значение.
Пример с глобальной ОВ. <input type="button" value="0" id="input"/> <input type="button" value="Get value" id="get_button"/> <script> var globalValue=0; input.onclick=()=>input.value=++globalValue; get_button.onclick=()=>alert(globalValue); </script> ps. Лучше переменную выносить не в глобальную ОВ, а в доступную обоим сценариям. |
Цитата:
var o={ 'В02': 1, 'В03дп': 2, 'В02Б': 3, 'В02Г': 4 }; dv =o[model.value]; |
Часовой пояс GMT +3, время: 00:02. |