Ich habe eine Funktion auf meiner aktuellen Site, die einen Wert erhöht oder verringert, wenn Sie auf die Plus- oder Minustaste klicken. Da es sich auf einer E-Commerce-Website als Auftragsmenge befindet, ist es nicht sinnvoll, eine Option für den Wert negativ zu haben. Ich habe versucht, meiner jQuery Logik hinzuzufügen, die verhindern würde, dass der Wert negativ wird, aber meine verschachtelte Logik funktionierte aus irgendeinem Grund nicht. Jede Hilfe würde sehr geschätzt werden!Verhindern, dass Eingabequant in JQuery negativ wird
JQuery
$(document).ready(function(e) {
$('.up').on('click',function(){
var num = $(this).parent().find('.input-quantity').val();
$(this).parent().find('.input-quantity').val(parseInt(num)+1);
});
$('.down').on('click',function(){
var num = $(this).parent().find('.input-quantity').val();
$(this).parent().find('.input-quantity').val(parseInt(num) -1);
});
});
HTML
<div class="quantity clearfix">
<span>quantity:</span>
<div class="incre">
<em class="down">-</em ><input type="text" value="1" class="input1 input-quantity "><em class="up">+</em ><br>
</div>
<div class="clear"></div>
</div>
CSS
.quantity {margin: 30px 0 0 0;max-width:242px;border: solid 1px #d3d2d2;padding: 3px 0 6px 11px;border-radius: 4px;}
.quantity span {display:inline-block;float:left;font-family:Arial, Helvetica, sans-serif;font-size: 14px;line-height: 20px;padding: 6px 0 0 0;color: #333333;}
.incre {display:inline-block;float:right;margin: 0;width: 39%;}
.incre em {display: inline-block;font-size: 26px;line-height: 31px;width: 29px;height: 29px;background: #cccccc;border-radius: 100%;color: #fff;padding: 0;float: left;text-align: center;margin: 0; cursor:pointer;}
.incre .input1 {outline:none;border:0;display: inline-block;float: left;width: 20px;text-align: center;margin: 0 7px 0 3px;padding: 3px 0 0 0;font-size: 19px;height: 28px;line-height: 19px;color: #000;}
.quantity small {display:block;font-size: 18px;line-height: 20px;color: #000;padding: 0 12px 0 9px;}
Was ich versucht habe:
Ich habe versucht, die Funktionalität für die 'nach unten' Taste in meinem jQuery zu ändern, um zu sagen, wenn der Wert gleich Null ist, wenn die Funktion ausgeführt wird, den Wert gleich eins und dekrementieren der Wert. Dieser Hack würde verhindern, dass der Wert jemals negativ wird.
$('.down').on('click',function(){
var num = $(this).parent().find('.input-quantity').val();
if(num = 0){num = 1}
$(this).parent().find('.input-quantity').val(parseInt(num) -1);
});
ich auch versucht:
if(num === "0"){num === "1"}
vor der Anweisung, die den Wert dekrementiert, da es schien, als ob die ganze Zahl als String zurückkehrt gewesen sein.
Wie auch immer, jede Hilfe wäre sehr willkommen!
können Sie '' – azad
'' –