2017-01-27 7 views
0

Ich erstelle ein shopify Theme, aber wenn ich dieses Skript zu einem Bug hinzufügen, bekomme ich einen Bug. Whe Sie Schritt Produkte im Warenkorb versuchen springen sie 2 von 2.JS inkrementieren Menge 2 mal 2 statt 1 mal 1

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. min und max Arent arbeitet

sorry für schlechtes Englisch

+0

Klingt, als ob Sie die Ereignisse mehr als einmal binden. – epascarello

Antwort

0

ändern var qty = $ (this) .parent(). Find (". Qty"); für außen wenn und arbeitet tks für alle

if ((".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

Ich denke nicht, Sie die JS tatsächlich benötigen für diesen Eingabetyp zu arbeiten, so dass das Hinzufügen oder Werte innerhalb der JS entfernt wie nur doppelt Hinzufügen oder doppel- Entfernen von Werten;)

Hoffe, das kann helfen!