Перейти к содержанию
KEMIN

Нужен модуль измения количества товара по клику

Рекомендуемые сообщения

вот примерный код

 

<file name="catalog/view/theme/*/template/product/product.tpl">
                <operation>
                        <search position="replace" offset="4"><![CDATA[
                                <div><?php echo $text_qty; ?>
                        ]]></search>
                        <add><![CDATA[
            <script type="text/javascript">
            $(function(){
            //Plus Minus Quantity
            $(".PlusMinus").click(function(){if($(this).hasClass("plus")){var quantity = $("#quantity").val();quantity++;$("#quantity").val(quantity);}else{var quantity = $("#quantity").val();quantity--;if(quantity>0){$("#quantity").val(quantity);}}});});
            </script>
                   
                    <?php echo $text_qty; ?>
                    <a class="PlusMinus minus" href="javascript:void(0);">-</a>
                    <input id="quantity" type="text" name="quantity" size="2" value="<?php echo $minimum; ?>" />
                    <a class="PlusMinus plus" href="javascript:void(0);">+</a>
                    <input type="hidden" name="product_id" size="2" value="<?php echo $product_id; ?>" />
                     <input type="button" value="<?php echo $button_cart; ?>" id="button-cart" class="button" />
                    </div>
                        ]]>

 

 

вопрос вот в чем

 

код проверяет и не позволяет поставить в форме количества меньше чем ноль

 

нужно подправить чтоб по клику увеличивалось количество не на 1 позицию а скажем на 10

 

а также нужно заблокировать от ручного ввода количества в форму

 

сам не смог

 

кто поможет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
$(".PlusMinus").click(function(){
    if($(this).hasClass("plus")){
         var quantity = $("#quantity").val();
         quantity++;
         $("#quantity").val(quantity);
    }else{
         var quantity = $("#quantity").val();
         quantity--;
         if(quantity>0){
              $("#quantity").val(quantity);
         }
    }
  });
});

там где  quantity++;  поменять на quantity + 10;

ну и там где quantity--; поменять на quantity - 10;

 

var++ и var--, это одинарные оператор инкремент и декремент во многих языках программирования. Увеличение и соответственно уменьшение на единицу.

 

по блокировке инпута

или использовать для него readonly атрибут. Или же инпут сделать скрытым, а пользователю показывать текущие количество в обычном элементе типа div или span.

 

вот пример учил одного человека верстке и js  - http://jsfiddle.net/DangelZM/NDaUB/embedded/result/

  • +1 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
$(".PlusMinus").click(function(){
    if($(this).hasClass("plus")){
         var quantity = $("#quantity").val();
         quantity++;
         $("#quantity").val(quantity);
    }else{
         var quantity = $("#quantity").val();
         quantity--;
         if(quantity>0){
              $("#quantity").val(quantity);
         }
    }
  });
});

там где  quantity++;  поменять на quantity + 10;

ну и там где quantity--; поменять на quantity - 10;

 

var++ и var--, это одинарные оператор инкремент и декремент во многих языках программирования. Увеличение и соответственно уменьшение на единицу.

 

по блокировке инпута

или использовать для него readonly атрибут. Или же инпут сделать скрытым, а пользователю показывать текущие количество в обычном элементе типа div или span.

 

вот пример учил одного человека верстке и js  - http://jsfiddle.net/DangelZM/NDaUB/embedded/result/

 

 

там где  quantity++;  поменять на quantity + 10;

ну и там где quantity--; поменять на quantity - 10;

 

поменял не сработало -(

 

блокировка input работает

 

есть еще аналогичный код

 

 <script>

         $(document).ready( function() {

          var elm = $('#htop');

                  function spin( vl ) {

                    elm.val( parseInt( elm.val(), 10 ) + vl );

                  }

                  $('#increase').click( function() { spin( 10 );  } );

                  $('#decrease').click( function() { spin( -10 ); } );

        });

        </script>

          <input type="button" id="decrease" value="-" /><input type="text" readonly="readonly" name="quantity" id="htop" size="22" value="<?php echo $minimum; ?>" />

         <input type="button" id="increase" value="+" />

 

но не знаю как сделать блокировку от ухода в минус

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Заменить                   $('#decrease').click( function() { spin( -10 ); } );

 

 на 

 

 $('#decrease').click( function() { if (elm.val () > 0 ){spin( -1 ); } });

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.