Изменение количества товара в корзине


Добрый день! Наверное слишком много и часто пишу тут, но хочется просто получить быстрее решения.
В корзине как известно есть регулятор количества покупаемого товара. Выглядит она примерно так:




Как заметили я, добавил к стандартному input еще картинки регуляторы (- и +) по бокам. Написал такой скрипт на jquery:

<script>
$(document).ready(function(){
  $('.minus').bind('click', function()
  {
    console.log("вошли в минус!");
    var itemNum=$(this).attr('data-extend');
    console.log(itemNum);
    var c = $("#myinput"+itemNum).val();
        c--;
    console.log©;  
    $("#myinput"+itemNum).val©;
  });     
    
  $(".plus").click(function()
  {
    console.log("вошли в плюсик!");
    var itemNum=$(this).attr('data-extend');
    console.log(itemNum);
    var c = $("#myinput"+itemNum).val();
        c++;
    console.log©;  
    $("#myinput"+itemNum).val©;
  });    
});
</script>
А в чанке tpl.msCart.row это представлена таким макаром:

<div class="amount-box" style="height: 30px !important;">
	  <p class="minus" data-extend="[[+id]]"></p>		 
	  <input type="number" id="myinput[[+id]]" name="count" value="[[+count]]" max-legth="4" class="input-sm form-control" style="width: 30px; height:20px; outline:none;"/>
	  <p class="plus" data-extend="[[+id]]"></p>
	  <button class="btn btn-default" type="submit" name="ms2_action" value="cart/change"><i class="glyphicon glyphicon-refresh"></i></button>
	</div>
Когда я изменяю количество товара через стандартные регуляторы поля input, то корзина обновляет изменения и фиксирует их, а когда жму свои нарисованные регуляторы (- и +), то в input изменяется число товара, но в корзине сообщений и изменений никаких нет. Как можно привязать события нажатия по классу minus и plus к реальным изменениям в корзине. Спасибо за ответ, если таковой будет…
Андрей
24 сентября 2014, 06:36
modx.pro
1
3 384
0

Комментарии: 4

Василий Наумкин
24 сентября 2014, 11:31
+1
Наверное слишком много и часто пишу тут, но хочется просто получить быстрее решения.
Да, мы заметили — 9 вопросов за 2 дня.

Читай про jQuery.trigger();
    Андрей
    24 сентября 2014, 12:08
    0
    Спасибо, сделал через trigger() работает)
      Илья
      25 мая 2016, 22:21
      0
      Андрей, подскажи решение.
    Володя
    24 сентября 2014, 11:32
    2
    0
    $('.amount-box p').click(function(e){
            var v = $(this).parent().find('input#product_price').val(),
                k = $(this).parent().find('input[name="key"]').val();
                
            if( ($(this).hasClass('minus') || $(this).hasClass('plus') ) && v > 0) { 
    
                $.post("", {ms2_action: 'cart/change', key: k, count: v }, function(response) {
     
                    if (typeof response.success !== "undefined") {
        
                            if (response.success) {
                                 miniShop2.Order.getcost();
                                 miniShop2.Cart.status(response.data);
                            }
                        }
                }, "json");
                
            }
        });
    что то вроде этого должно помочь
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4