JS递增数量2乘2而不是1乘1

时间:2017-01-27 02:02:07

标签: javascript shopify

我正在创建shopify主题,但是当我将此脚本添加到carti时出现了一个错误。当你尝试在购物车中增加产品时,他们会逐渐跳过2。

HTML

<div class="quantity">

<input type="number" name="updates[]" value="{{ item.quantity }}" data-id="{{ item.id }}" min="0" max="99" step="1" title="Qty" class="qty" size="4">

</div>

JS

if ((".quantity").length > 0) {
    var form_cart = $("form .quantity");
    form_cart.prepend('<span class="minus"><i class="fa fa-minus-square-o"></i></span>');
    form_cart.append('<span class="plus"><i class="fa fa-plus-square-o"></i></span>');

    var minus = form_cart.find($(".minus"));
    var plus  = form_cart.find($(".plus"));

    minus.on("click", function(){
      var qty = $(this).parent().find(".qty");
      if (qty.val() <= 1) {
        qty.val(1);
      } else {
        qty.val((parseInt(qty.val())-1));
      }
    });
    plus.on("click", function(){
      var qty = $(this).parent().find(".qty");
      qty.val((parseInt(qty.val())+1));
    });
  }

PS。最小和最大不工作

抱歉英语不好

2 个答案:

答案 0 :(得分:0)

我不认为你真的需要JS来使这个输入类型工作,所以在JS中添加或删除值就像是双重添加或双重删除值;)

希望这有帮助!

答案 1 :(得分:0)

更改var qty = $(this).parent()。find(“。qty”);对于所有

的外部if和works tks

if((“.quantity”)。length&gt; 0){     var form_cart = $(“form .quantity”);     form_cart.prepend( '');     form_cart.append( '');

var minus = form_cart.find($(".minus"));
var plus  = form_cart.find($(".plus"));

var qty = $(this).parent().find(".qty");

minus.on("click", function(){
  if (qty.val() <= 1) {
    qty.val(1);
  } else {
    qty.val((parseInt(qty.val())-1));
  }
});
plus.on("click", function(){
  qty.val((parseInt(qty.val())+1));
});

};