2017-01-27 44 views
0

我正在创建一个shopify主题,但是当我将这个脚本添加到carti有一个bug。 WHE尝试增加产品在车用他们2JS增加数量2而不是1减1 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。最小和最大的arent工作

遗憾的英语不好

+0

听起来就像你绑定的事件不止一次.... – epascarello

回答

0

更改var qty = $(this).parent()。find(“。qty”); ((“.quantity”)。length> 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)); 
}); 

};

0

我不认为你真正需要的JS此输入型的工作,因此增加或JS的内部取出值就像只需双击添加或双删除值;)

希望这可以帮助!

相关问题