Подсчет товаров в интернет-магазине
Всем привет. Есть скрипт, который считает цену товара в зависимости от его количества в корзине. Проблема в том, что если товар в корзине 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> |
var $count = $('#num_count'); - уже ошибка, id - это уникальное имя. Отсюда и проблемы.
|
Цитата:
|
Ну и?
У поля type="text" не может быть такого step="1", только у типа number при чем по умолчанию. В вашем случае лучше делегировать обработку input и "minus", "plus" родителю "goods-buy-count", в котором будет уже одно поле input, и в котором и производить изменения. <input class="oldprice" type="hidden" value="175"> - лучше выбросить, и определить цену у поля количества. И нет связи ID товара с его количеством, что надо определять и также в этом поле - name="quantity[100]", получая на сервере массив, ключами которого будут ID товаров, значениями их количество. |
Часовой пояс GMT +3, время: 14:24. |