stockQty是200和$(「#txtQty」)。val()是5,但它總是在其他地方。爲什麼?我從對象中獲取stockQty值,並將stockQty聲明爲全局變量,並從另一個函數中使用它。我試圖輸出這兩個值,他們是200和5.有什麼不對?javascript比較無法正常工作?
if(stockQty>0 && $("#txtQty").val() <= stockQty){}
else{}
stockQty是200和$(「#txtQty」)。val()是5,但它總是在其他地方。爲什麼?我從對象中獲取stockQty值,並將stockQty聲明爲全局變量,並從另一個函數中使用它。我試圖輸出這兩個值,他們是200和5.有什麼不對?javascript比較無法正常工作?
if(stockQty>0 && $("#txtQty").val() <= stockQty){}
else{}
適合我。
看到這個小提琴:http://jsfiddle.net/nVd67/1/
var stockQty = 200;
if(stockQty>0 && $("#txtQty").val() <= stockQty){ alert('true')}
else{alert('false')}
編碼器是正確的! – KunJ
我不直接分配stockQty值。我從物體中獲得。如果直接分配,它可以工作。 – ksh
上面的代碼按預期工作。您必須在分配stockQty的值之前調用該函數,否則您不正確地分配stockQty。您是否嘗試過調試javascript並關注stockQty更新時的情況? – JuniorCoder
5大於200的唯一時間是使用字符串比較;這隻會發生如果兩個操作數都是字符串,所以你應該確保在進行任何比較之前,這些值是正確的類型:
var inStock = +stockQty, // may have been a string
stockRequested = +$("#txtQty").val(); // definitely a string
if (stockRequested <= inStock) {
}
證明它如何不工作? –
@ksh嘗試提醒$(「#txtQty」)。val()的值,並檢查輸出是什麼 – Shadow
是的,我已經試過了。它是5. – ksh