javascript比较不能正常工作?

时间:2014-02-17 07:37:32

标签: javascript jquery

stockQty是200和$(“#txtQty”)。val()是5,但它总是在其他内部。为什么?我从object获取stockQty值并将stockQty声明为全局变量并从另一个函数使用它。我试图输出两个值,它们是200和5.出了什么问题?

if(stockQty>0 && $("#txtQty").val() <= stockQty){}
else{}

3 个答案:

答案 0 :(得分:3)

5大于200的唯一时间是使用字符串比较时;并且只有当两个操作数都是字符串时才会发生这种情况,所以在进行任何比较之前,你应该确保这些值是正确的类型:

var inStock = +stockQty, // may have been a string
stockRequested = +$("#txtQty").val(); // definitely a string

if (stockRequested <= inStock) {
}

答案 1 :(得分:1)

对我来说很好。

看到这个小提琴:http://jsfiddle.net/nVd67/1/

var stockQty = 200;
if(stockQty>0 && $("#txtQty").val() <= stockQty){ alert('true')}
else{alert('false')}

答案 2 :(得分:0)

您可能正在获取字符串值。使用parseInt()比较数值。

if(parseInt(stockQty)>0 && parseInt($("#txtQty").val()) <= parseInt(stockQty)){}
else{}