[英]javascript comparison not working properly?
stockQty是200,$(“#txtQty”)。val()是5,但它總是放在其他內容中。 為什么? 我從對象獲取stockQty值,並將stockQty聲明為全局變量,然后從另一個函數中使用它。 我試圖輸出兩個值,它們分別是200和5。怎么了?
if(stockQty>0 && $("#txtQty").val() <= stockQty){}
else{}
5大於200的唯一時間是使用字符串比較時。 而且僅當兩個操作數都是字符串時才會發生,因此在進行任何比較之前,應確保值的類型正確:
var inStock = +stockQty, // may have been a string
stockRequested = +$("#txtQty").val(); // definitely a string
if (stockRequested <= inStock) {
}
對我來說很好。
看到這個小提琴: http : //jsfiddle.net/nVd67/1/
var stockQty = 200;
if(stockQty>0 && $("#txtQty").val() <= stockQty){ alert('true')}
else{alert('false')}
您可能正在獲取字符串值。 使用parseInt()比較數字值。
if(parseInt(stockQty)>0 && parseInt($("#txtQty").val()) <= parseInt(stockQty)){}
else{}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.