Нужна помощь с калькулятором
Здравствуйте! Нужна помощь с калькулятором. Нужно чтобы он рассчитывал следующим образом. (ширина * высота) * стоимость товара.
// 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, время: 02:13. |