Нужна помощь с калькулятором
Здравствуйте! Нужна помощь с калькулятором. Нужно чтобы он рассчитывал следующим образом. (ширина * высота) * стоимость товара.
// JavaScript Document $(document).ready(function() { $("#tableSelect").change(function() { var totalSum = 0; $("input[id^='pos'], select[id^='pos']").each(function() { var idElement = "#"+$(this).attr("id"), priceField1 = parseFloat($(idElement+"_price1").text())||0, countField1 = parseFloat($(this).val())||0; var res = (priceField1 * countField1)|0; $(idElement+"_count1").text(res); totalSum += res; }); $("#count_price1 span").text(totalSum); }); }); <div id="tableSelect" > Ширина <input id="pos_4" type="text" class="vertical"></input></br> Высота <input id="pos_4" type="text" class="vertical"></input></br> <div style="display: none;" id="pos_4_price1" type="text" class="vertical">10</div></br> <div id="ret"> Стоимость изделия: <div id="pos_4_count1">0</div></div> <div id="hp3">Установка</div> <div style="display: none;" id="pos_5_price1" type="text" class="vertical">1</div></br> <select id="pos_5" name="veduschiy"> <option value="0" selected>-</option> <option value="150">Да</option> </select></br><div id="ret"> Стоимость: <div id="pos_5_count1">0</div></div> <div id="count_price1"><p>Итого: <span></span> руб.</p></div></div> |
Цитата:
![]() |
Не заметил)
Но в целом вы правы я действительно не ведаю что творю поэтому и прошу помощи. |
Valtar7,
от чего зависит стоимость ? |
:cray: очередной калькулятор
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <label for=""><input type="text">Ширина</label> <label for=""><input type="text">Высота</label> <select> <option value="0" selected>-</option> <option value="150">Да</option> </select> <span>0</span> <script> var items = document.querySelectorAll("input,select"), span = document.querySelector("span"); [].forEach.call(items, function(a) { a.addEventListener("change", function() { span.innerHTML = [].reduce.call(items, function(a, b) { return a * (+b.value||0) }, 1) }) }); </script> </body> </html> |
Извините что отнимаю ваше время и за то что я не корректно формулировал суть вопроса.
<div id="tableSelect" > Ширина <input id="pos_4" type="text" class="vertical"></input></br> Высота <input id="pos_4" type="text" class="vertical"></input></br> <div style="display: none;" id="pos_4_price1" type="text" class="vertical">10</div></br> "Стоимость товара" <div id="ret"> Стоимость изделия: <div id="pos_4_count1">0</div></div> <div id="hp3">Установка</div> <div style="display: none;" id="pos_5_price1" type="text" class="vertical">1</div></br> <select id="pos_5" name="veduschiy"> <option value="0" selected>-</option> <option value="150">Да</option> </select></br><div id="ret"> Стоимость: <div id="pos_5_count1">0</div></div> <div id="count_price1"><p>Итого: <span></span> руб.</p></div></div> То есть высоту умножаем на ширину и получаем площадь а её умножаем на товар. Этот скрипт мне понравился тем что сюда можно добавлять сколько угодно позиций. И есть вывод цены для каждой. Ну и внешне мне он показался достаточно простым для обучения. Но вот как перемножить два input и результат умножит на число находящиеся в позиции: <div style="display: none;" id="pos_4_price1" type="text" class="vertical">10</div> Я не как сообразить не могу. :( // JavaScript Document $(document).ready(function() { $("#tableSelect").change(function() { var totalSum = 0; $("input[id^='pos'], select[id^='pos']").each(function() { var idElement = "#"+$(this).attr("id"), priceField1 = parseFloat($(idElement+"_price1").text())||0, countField1 = parseFloat($(this).val())||0; var res = (priceField1 * countField1)|0; $(idElement+"_count1").text(res); totalSum += res; }); $("#count_price1 span").text(totalSum); }); }); |
С проблемой разобрался спасибо за помощь.
|
Часовой пояс GMT +3, время: 01:22. |