Всем привет. Есть магазин с товарными секциями - пример в коде. При добавлении товара в корзину происходит пересчет количества товара и его суммы. Для одного товара все считает хорошо, но как только добавляю второй со своими данными - корзина перезаписывает данные только первого, т.е. в итоговой сумме получается цена одного первого продукта, несмотря на то, что в корзине их больше. Вопрос по сохранению данных корзины и их последующему извлечению. Сохраняю данные в массиве, прохожусь по всем элементам с помощью each но что-то не получается правильно перезаписать.. Условие
if ($(this).find('a').attr('href') == product_name) {..}
как я понял срабатывает для всех товаров в корзине или я не прав?
$('.add_to_cart_button').click(function() {
var number = $(this).parents('.product-frame ').find(".input-text.qty.text").val();
var product_name = $(this).parents('.product-frame ').find('.product-section h3 a').attr('href');
$('body').bind('added_to_cart', function() {
var arr = [];
$('#shopping-button .cart_list li').each(function(i) {
arr[i] = $(this).find("span.quantity").text().match(/\d+(?:\.\d+)?/g);
if ($(this).find('a').attr('href') == product_name) {
var html = $(this).find("span.quantity").html();
html = html.replace(/\d+/, number);
$(this).find("span.quantity").html(html);
var quantity = $(this).find("span.quantity").text().match(/\d+(?:\.\d+)?/g);
var basePrice = "";
for (var i = 1; i < quantity.length; i++) {
basePrice += quantity[i];
}
$(this).parents('#shopping-button').find(".shopping-button .amount").text((basePrice * number) + " руб.");
}
});
console.log(arr);
});
});
<!-- Добавление товара в корзину -->
<div class="product-frame ">
<div class="content-description">
<div class="product-section">
<h3><a href="#">Товар 1</a></h3>
<table class="description-table">
<tbody>
<tr>
<td class="product-quantity">
<div class="quantity buttons_added">
<input type="number" step="1" min="1" max="27" 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>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="process-section">
<div class="price"><span class="amount" baseprice="360000">1.080.000 руб.</span>
</div>
<a href="#" rel="nofollow" data-product_id="3295" data-quantity="1" class="button add_to_cart_button">Купить</a>
</div>
</div>
<!-- Сама корзина -->
<li id="shopping-button">
<a class="shopping-button" href="#">
<b><span class="amount">360.000 руб.</span></b>
</a>
<ul class="cart_list ">
<li>
<a href="#">
<img width="60" height="60" src="#" class="attachment-60x60 wp-post-image" alt="item-1">
</a>
<div class="product-text">
<div class="product-name">Товар 1</div>
<span class="quantity">3 × <span class="amount">360.000 руб.</span></span>
</div>
</li>
<li>
<a href="#">
<img width="60" height="60" src="#" class="attachment-60x60 wp-post-image" alt="item-2">
</a>
<div class="product-text">
<div class="product-name">тОВАР 2</div>
<span class="quantity">3 × <span class="amount">150.000 руб.</span></span>
</div>
</li>
</ul>
<!-- end product list -->
</li>