Джава Скрипт Сравнить значения с помощью содержимого из select

 
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 960
Всем привет, нужна наводка желательно без решения, хочу сам разобраться. Тему неверно назвал, нужно вычислить содержимое из инпутов. с помощью select

Код PHP:
  1.  
  2. let qw = document.querySelector(".i-101");
  3. let qу = document.querySelector(".i-102");
  4.  
  5. let qе = document.querySelector(".i-103");//селект +, -, *, /
  6.  
  7. function f10() {
  8. let qww = +qw.value;//результат из инпут
  9. let qyy = +qy.value;//результат из инпут
  10. let qee = qe.value;//результат из селекта
  11. let itog = ;
  12. document.querySelector(".out-10").textContent = ;
  13. }
  14.  
  15. document.querySelector('.b-10').onclick = f10;
  16.  
  17.  
Задачка: Значения из инпутов нужно сложить, умножить, отнять либо поделить. В зависимости от того что выбрано в select.

Не могу понять как решить задачу с помощью оператора if . Не понимаю что делать с переменной qee, она получила данные из selecta а как их дальше использовать не понимаю).

Идея была и без if
Код PHP:
  1.  
  2. let itog = qww qee qyy;
  3. document.querySelector(".out-10").textContent = itog;
  4.  
но это бред)))
Редактировалось: 2 раз (Последний: 2 июля 2020 в 22:47)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 3284
Заралик,
Так выводите эти значения в консоль console.log(что выводить)
И сразу видно будет, что куда.
Реклама
cms
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2841
Заралик, switch в помощь https://learn.javascript.ru/switch
Я понимаю, в чем сложность. Обмануть систему не получится и заставить ее видеть в полученном из селекта операцию нельзя. JS видит строку. И вам надо с помощью switch перебрать все совпадения и в этих совпадениях производить расчеты.
Виджеты, поля и компоненты для instantcms 2 http://www.zau4man.ru/ tm @zau4man
Посетитель
small user social cms
Медаль
Сообщений: 180
Zau4man:

Заралик, switch в помощь https://learn.javascript.ru/switch
Я понимаю, в чем сложность. Обмануть систему не получится и заставить ее видеть в полученном из селекта операцию нельзя. JS видит строку. И вам надо с помощью switch перебрать все совпадения и в этих совпадениях производить расчеты.

Разве в его случае есть разница if или switch. Он в принципе не поймёт, как условие прописать.


Заралик, тебе нужно в функции f10, после получения данных из элементов, написать условие (если qee === '*', то itog = qww * qyy) и так через else if дальше все варианты селектора прописать. Ну или использовать свитч. В принципе разницы нет.
Редактировалось: 1 раз (Последний: 3 июля 2020 в 00:34)
Игорь Дмитриевич =)
Посетитель
small user social cms
Медаль
Сообщений: 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)
Игорь Дмитриевич =)
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 960
Ris, Vunderkind, Zau4man, Всем спасибо, я все понял. Задача действительно легкая, почему то я подумал что нельзя прописать значения арифметический знак из select прямо в условие для сравнения. Думал его как то скрыть надо (к примеру в переменную поместить а потом работать с ним) вот тут и тупанул))
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3939
Заралик:
почему то я подумал что нельзя прописать значения арифметический знак из select прямо в условие для сравнения.
Можно. Для этого есть функция https://learn.javascript.ru/eval, но там надо жестко следить, что попадает в эту функцию.
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 960
Loadырь, Отлично, спасибо тему закрываю.
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: