我正在为学校制作一个网站,需要创建一个购物车。当我检查所需数量是否大于可用数量时,即使不是,它也会返回true。例如,3>12为true,我会收到错误消息。 我拼错了“available”.. 我知道 :( 这是我的函数:
function add_to_cart() {
jQuery ('#modal_errors').html("");
var size = jQuery('#size').val();
var quantity = jQuery('#quantity').val();
var avaliable = jQuery('#avaliable').val();
var error = '';
var data = jQuery('#add_product_form').serialize();
if( size == '' || quantity == '' || quantity == 0 ){
error +='<p class = "text-danger text-center">You need to select a size and quantity.</p>';
jQuery('#modal_errors').html(error);
return;
}
else if(quantity > avaliable){
error +='<p class = "text-danger text-center">There are only '+avaliable+' avaliable and you asked for '+quantity+'.</p>';
jQuery('#modal_errors').html(error);
return;
}
}
这里返回的信息(对于我的情况)是:“只有12个可用,而你要求3个。”
这可能是一个新手错误,但我无法弄清楚。请帮忙吗?
编辑 ->>
使用了
var quantity = Number.parseInt(jQuery('#quantity').val());
var avaliable = Number.parseInt(jQuery('#avaliable').val());
现在它正在运行,但我又迷失了 :D
我这样获取值
<div class="form-group">
<div class="col-xs-3"><label for="quantity">Quantity:</label>
<input type="number" class="form-control" id="quantity" name="quantity" min="0"></div><br><div class="col-xs-9"> </div>
</div>
由于输入类型为数字,我认为不需要将字符串转换为数字。 输入类型为数字,是否等同于可以进行比较或乘法运算的实际数字?
谢谢您的回答 :)
Number.parseInt
而不是parseInt
? - ChrisNumber()
? - Amresh VenugopalNumber()
,而是在指Number.parseInt()
。根据 MDN 的说法,它们具有相同的功能,这就是为什么我要问的原因。 - ChrisNumber.parseInt()
比Number()
更易读。 - Suren Srapyan