Приветствую. Есть товары, каждого наименования может быть любое количество (увеличивается динамически с помощью кнопок +/-), пытаюсь собрать общую сумму со всех элементов в виде "сумма руб.", причем вывести в 2ух элементах. Проблема в том, что первоначально (при добавлении одного, двух, трех товаров) в summary все считает правильно, но если начинать увеличивать количество наименовании товаров с помощью кнопки + summary дописывает к итоговой сумме сумму предыдущего товара. Как это можно исправить?
var summary = 0; // при попадании нового товара в корзину происходит обнуление
$('.li').each(function() {
var $this = $(this);
var quantity = $this.find(".quantity").text().match(/\d+(?:\.\d+)?/g);
var basePrice = "";
for (var i = 1; i < quantity.length; i++) {
basePrice += quantity[i];
}
var $input = $this.find(".input-text.qty.text");
var max = +$input.attr("max");
var min = +$input.attr("min");
function updateValue(newValue) {
var value = +newValue;
newValue > max && (value = max);
newValue < min && (value = min);
var item = value * basePrice;
console.log(item); //сумма одного элемента
summary = summary + item;
console.log(summary); //получаем сумму всех элементов
$this.find(".amount").text(value * basePrice + " руб");
$(".summary").text(summary + " руб");
$("#shopping-button .amount").text(summary + " руб");
$this.find(".quantity")[0].firstChild.data = value + " × ";
$input.val(value);
}
$this.find(".plus").click(function() {
updateValue(+$input.val() + 1);
return false;
});
$this.find(".minus").click(function() {
updateValue(+$input.val() - 1);
return false;
});
$input.click(function() {
updateValue($input.val());
return false;
});
updateValue(quantity[0]);
});
<!-- Считаем сумму с каждого li-->
<div class="li">
<div class="product-text">
<span class="quantity">9 × <span class="amount">1.080.000 руб</span></span>
</div>
<a href="#" class="remove-item" title="Удалить эту позицию">remove</a>
<div class="quantity buttons_added">
<input type="number" step="1" min="1" max="100" id="num_count" name="quantity" value="1" title="Кол." class="input-text qty text" size="4">
<input type="button" value="+1" id="button_plus" class="plus">
<input type="button" value="-1" id="button_minus" class="minus">
</div>
</div>
<!-- Получить здесь-->
<div class="fixed-bottom">
<p>Итого..........<span class="summary"><b>416.000</b></span>
</p>
</div>
<!-- и здесь-->
<li id="shopping-button">
<a class="shopping-button" href="#">
<b><span class="amount">1.080.000 руб.</span></b>
</a>
<!--/ .shopping-button-->
</li>