Показать сообщение отдельно
  #1 (permalink)  
Старый 14.09.2015, 12:26
Новичок на форуме
Отправить личное сообщение для dominik74 Посмотреть профиль Найти все сообщения от dominik74
 
Регистрация: 14.09.2015
Сообщений: 2

Подсчет товаров в интернет-магазине
Всем привет. Есть скрипт, который считает цену товара в зависимости от его количества в корзине. Проблема в том, что если товар в корзине 1, то всё работает, а если более, то считает только в первой форме, что делать?
Собственно сам код:
$(document).ready(function() {
    var $count = $('#num_count');
    var $sum = $('.sum');
    var $old = $('.oldprice').val();
    var minCount = parseInt($count.attr('min'));
    var maxCount = parseInt($count.attr('max'));
    
    $count.on('change', function() {
        changeCountValue(0);
    });
    
    $('#button_plus').on('click', function() {
        changeCountValue(1);
    });
    
    $('#button_minus').on('click', function() {
        if($count.val() > 1){
			changeCountValue(-1);
		}
    });
    
    function changeCountValue(change)
    {
        var newCount = parseInt($count.val()) + change;
		var $sumi = parseFloat($('.sum').text());
        if (newCount < minCount) {
            newCount = minCount;        
        }
        else if (newCount > maxCount) {
            newCount = maxCount;
        }
        $count.val(newCount);
   
        $sum.text($old * newCount);
    }
});

Если создавать несколько блоков "goods-buy" (ниже), то считает только в первом блоке.
<div class="goods-buy">
	<div class="goods-buy-img"></div>
	<div class="goods-buy-name">Название товара</div>
	<div class="goods-buy-count">
		<input class="oldprice" type="hidden" value="175">
		<span id="button_minus" class="minus">-</span>
		<span class="quantity"><input type="text" step="1" id="num_count" name="quantity" value="1" class="input-text qty text" size="4" />шт.</span>
		<span id="button_plus" class="plus">+</span>
	</div>
<div class="goods-buy-price"><span class="sum">175</span> руб.</div>
<div class="goods-buy-delete"></div>
</div>
Ответить с цитированием