Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как Получить значения из инпутов и умножать на выбранную картинку(товара) (https://javascript.ru/forum/misc/80037-kak-poluchit-znacheniya-iz-inputov-i-umnozhat-na-vybrannuyu-kartinku-tovara.html)

Улан 20.04.2020 16:54

Как Получить значения из инпутов и умножать на выбранную картинку(товара)
 
Добрый день! http://codepen.io/tu03422/pen/WNQGrxp?editors=10 имеется вот такой вариант расчета стоимости ( изучаю js), пользователь указывает размеры и выбирает тип товара. Я научился вывести стоимость без выбора варианта товара,то есть если выбор картинки отсутствует, но если пользователю нужно будет выбирать то уже что то не догоняю как сложить, и правильно ли я думаю что если с картинками вопрос решится то таким же способом можно будет и сложить значения из selecta в общую сумму?

рони 20.04.2020 17:22

Улан,
всё объединить одной формой, обрабатывать только два события click и input этой формы. выбрать нужные значения, вычислить и вывести результат. всё.

рони 20.04.2020 18:22

калькулятор на три параметра
 
Улан,
про картинки не осилил ...
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>

</head>
<body>
<form action="http://">

<div class="block_cheked">
  <select name="c" id="c" class="shower_select">
    <option value="90">прозрачное</option>
    <option value="110">коричневое</option>
    <option value="120">матовое</option>
    <option value="130">пескоструйное</option>
    <option value="140">полосатое</option>
</select>
</div>

<div class="inputs">
       <div class="inpRng">

         <input id="a" type="range" min="900" max="2100" step="50" value="900" class="range" >

          <input type="number" min="900" max="2100" step="50" id="firstInp" value="900" class="range_1"><label for=""> высота в мм</label>

         </div><br>

       <div class="inpRng">

         <input id="b" type="range" min="50" max="1000"  value="50" class="range" >

          <input type="number" min="50" max="1000" step="50" id="secondInp" value="50" class="range_1" ><label for=""> ширина в мм</label>

      </div>
   </div>
</form>
<p id="out"></p>
<script>
document.addEventListener( "DOMContentLoaded" , function() {
const form = document.querySelector("form");
form.addEventListener("input", event => {
	if(event.target.matches(".inpRng input"))
	event.target.closest(".inpRng").querySelectorAll("input").forEach(
    elem => {if(elem != event.target) elem.value = event.target.value;}
    );
    let size = (a.value * b.value/1000000);
    let result = (size * c.value).toFixed(2);
    out.innerHTML = `<br>предварительная сумма: ${result}руб., площадь: ${size}m&sup2;`;
     });
    form.dispatchEvent(new Event("input"))
});
</script>

</body>
</html>

Улан 20.04.2020 21:30

Так то если теоретически то понятно, но я не понимаю как все это прописать, я из видео-уроков делаю.

Улан 20.04.2020 21:34

рони,
Огромное спасибо Вам!


Часовой пояс GMT +3, время: 15:37.