Jump to content
Sign in to follow this  
KEMIN

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

Recommended Posts

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

 

<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

 

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

 

сам не смог

 

кто поможет

Share this post


Link to post
Share on other sites
$(".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

Share this post


Link to post
Share on other sites
$(".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="+" />

 

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

Share this post


Link to post
Share on other sites
Заменить                   $('#decrease').click( function() { spin( -10 ); } );

 

 на 

 

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

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.