Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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>
Ответить с цитированием
  #2 (permalink)  
Старый 14.09.2015, 12:37
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

var $count = $('#num_count'); - уже ошибка, id - это уникальное имя. Отсюда и проблемы.
Ответить с цитированием
  #3 (permalink)  
Старый 14.09.2015, 13:25
Новичок на форуме
Отправить личное сообщение для dominik74 Посмотреть профиль Найти все сообщения от dominik74
 
Регистрация: 14.09.2015
Сообщений: 2

Сообщение от laimas
var $count = $('#num_count'); - уже ошибка, id - это уникальное имя
ну это то исправил
Ответить с цитированием
  #4 (permalink)  
Старый 14.09.2015, 14:09
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Ну и?

У поля type="text" не может быть такого step="1", только у типа number при чем по умолчанию.

В вашем случае лучше делегировать обработку input и "minus", "plus" родителю "goods-buy-count", в котором будет уже одно поле input, и в котором и производить изменения.

<input class="oldprice" type="hidden" value="175"> - лучше выбросить, и определить цену у поля количества.
И нет связи ID товара с его количеством, что надо определять и также в этом поле - name="quantity[100]", получая на сервере массив, ключами которого будут ID товаров, значениями их количество.

Последний раз редактировалось laimas, 14.09.2015 в 14:16.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчет стоимости товаров в корзине на AngularJs Rodger1956629 Angular.js 2 29.06.2015 08:40
Google Analytics комерция несколко товаров в 1 транзакции sig Общие вопросы Javascript 0 28.10.2013 14:26
Подсчет суммы чисел при отметке чекбоксов Garik Элементы интерфейса 11 27.07.2013 21:47
jCart. Не работает ajax для динамически созданных товаров. Whitetown jQuery 2 09.03.2012 08:31
Корзина товаров yuriii jQuery 7 30.05.2010 02:38