Как вывести значение функции, написанной после события onchange на js?
$('#select-function').on('change' function selected() {
if ($(this).val() == 1) {
var qwerty = 10;
return(qwerty);
}
else if ($(this).val() == 2) {
var qwerty = 20;
return(qwerty);
}
else if ($(this).val() == 3) {
var qwerty = 30;
return(qwerty);
}
else if ($(this).val() == 4) {
var qwerty = 40;
return(qwerty);
}
else {
var qwerty = 50;
return(qwerty);
}
})
var xxx = selected();
Ответы (2 шт):
Автор решения: Алексей Шиманский
→ Ссылка
После события никак. Да это и не нужно. Достаточно создать функцию, например с именем calc и передать его как коллекции для события change. В итоге там всё будет считаться при каждом изменении селекта
Или передать общую функцию, в которой будет несколько: например одна пересчитывает, вторая что-то где-то перерендывает
Автор решения: humster_spb
→ Ссылка
Алексей Шиманский объяснил Вам, какая может быть логика в решении. Я приведу наглядный пример. Сначала Вы пишете некую общую функцию для вычислений, куда потом в качестве параметра будет передаваться значение из селекта. А уже после события onchange вызываете её.
function selected(num) {
/* здесь какие-то вычисления, например: */
let result = num*2+15;
console.log(result);
}
$('#select-function').on('change', function() {
let qwerty = 0;
if ($(this).val() == 1) {
qwerty = 10;
}
else if ($(this).val() == 2) {
qwerty = 20;
}
else if ($(this).val() == 3) {
qwerty = 30;
}
else if ($(this).val() == 4) {
qwerty = 40;
}
else {
qwerty = 50;
}
selected(qwerty);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="select-function">
<option value="">Сделайте выбор</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>