2017-01-27 65 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的內部取出值就像只需雙擊添加或雙刪除值;)

希望這可以幫助!

相關問題