Передать значение из 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, время: 16:39. |