Посетитель Сообщений: 960 | Всем привет, нужна наводка желательно без решения, хочу сам разобраться. Тему неверно назвал, нужно вычислить содержимое из инпутов. с помощью select
Код PHP: let qw = document.querySelector(".i-101"); let qу = document.querySelector(".i-102"); let qе = document.querySelector(".i-103");//селект +, -, *, / function f10() { let qww = +qw.value;//результат из инпут let qyy = +qy.value;//результат из инпут let qee = qe.value;//результат из селекта let itog = ; document.querySelector(".out-10").textContent = ; } document.querySelector('.b-10').onclick = f10;
Задачка: Значения из инпутов нужно сложить, умножить, отнять либо поделить. В зависимости от того что выбрано в select.
Не могу понять как решить задачу с помощью оператора if . Не понимаю что делать с переменной qee, она получила данные из selecta а как их дальше использовать не понимаю).
Идея была и без if
Код PHP: let itog = qww qee qyy; document.querySelector(".out-10").textContent = itog;
но это бред))) Редактировалось: 2 раз (Последний: 2 июля 2020 в 22:47) |
Посетитель Сообщений: 3284 | Заралик,
Так выводите эти значения в консоль console.log(что выводить)
И сразу видно будет, что куда. |
Реклама
|
|
Посетитель Сообщений: 2841 | Заралик, switch в помощь https://learn.javascript.ru/switch
Я понимаю, в чем сложность. Обмануть систему не получится и заставить ее видеть в полученном из селекта операцию нельзя. JS видит строку. И вам надо с помощью switch перебрать все совпадения и в этих совпадениях производить расчеты. Виджеты, поля и компоненты для instantcms 2 http://www.zau4man.ru/ tm @zau4man |
Посетитель Сообщений: 180 | Zau4man:
Заралик, switch в помощь https://learn.javascript.ru/switch
Я понимаю, в чем сложность. Обмануть систему не получится и заставить ее видеть в полученном из селекта операцию нельзя. JS видит строку. И вам надо с помощью switch перебрать все совпадения и в этих совпадениях производить расчеты.
Разве в его случае есть разница if или switch. Он в принципе не поймёт, как условие прописать.
Заралик, тебе нужно в функции f10, после получения данных из элементов, написать условие (если qee === '*', то itog = qww * qyy) и так через else if дальше все варианты селектора прописать. Ну или использовать свитч. В принципе разницы нет. Редактировалось: 1 раз (Последний: 3 июля 2020 в 00:34) Игорь Дмитриевич =) |
Посетитель Сообщений: 180 | function f10(qw, qy, qe) {
let qww = +qw.value;//результат из инпут
let qyy = +qy.value;//результат из инпут
let qee = qe.value;//результат из селекта
let itog;
Если (qee === '*') {
itog = qww * qyy;
} но если (qee === '+') {
itog = qww + qyy;
} но если (qee === '-') {
itog = qww - qyy;
}
document.querySelector(".out-10").textContent = itog;
}
document.querySelector('.b-10').onclick = f10(qw, qy, qe) ; Редактировалось: 4 раз (Последний: 3 июля 2020 в 01:18) Игорь Дмитриевич =) |
Посетитель Сообщений: 960 | Ris, Vunderkind, Zau4man, Всем спасибо, я все понял. Задача действительно легкая, почему то я подумал что нельзя прописать значения арифметический знак из select прямо в условие для сравнения. Думал его как то скрыть надо (к примеру в переменную поместить а потом работать с ним) вот тут и тупанул)) |
Посетитель Сообщений: 3939 | Заралик:почему то я подумал что нельзя прописать значения арифметический знак из select прямо в условие для сравнения.
Можно. Для этого есть функция https://learn.javascript.ru/eval, но там надо жестко следить, что попадает в эту функцию. |
Посетитель Сообщений: 960 | Loadырь, Отлично, спасибо тему закрываю. |