簡單的驗證,我有兩個文本框,與我試圖驗證像與jQuery
var max = $("#txtMaximumMark").val()
var min = $("#txtMinimumMark").val();
var valid = max > min;
如果我給10 minimun和100爲最大,它顯示給定值是有效的,但如果我給40至少爲100,最大爲100,有效返回false,這裏是什麼,爲什麼它返回false,任何人都可以幫我在這裏...
簡單的驗證,我有兩個文本框,與我試圖驗證像與jQuery
var max = $("#txtMaximumMark").val()
var min = $("#txtMinimumMark").val();
var valid = max > min;
如果我給10 minimun和100爲最大,它顯示給定值是有效的,但如果我給40至少爲100,最大爲100,有效返回false,這裏是什麼,爲什麼它返回false,任何人都可以幫我在這裏...
因爲它比較strings
。使用.val()
會返回字符串,因此當您比較它們時,會將它們作爲字符串進行比較。
在字符串中,4高於1,所以40高於100(如a
高於baaa
)。
要正確地做你的比較,使用parseInt
投你的字符串到整數:
var valid = parseInt(max, 10) > parseInt(min, 10);
字符串不是整數。首先解析數值:
var valid = parseInt(max, 10) > parseInt(min, 10);
「40」大於「100」。但是當這些被轉換爲整數時,情況就不再是這樣了。
感謝您的解決方案喬納森,謝謝alott – shanish
比較兩個號碼,您可以轉換爲數字
max = parseInt(max);
min = parseInt(min);
parseFloat(number) –
感謝您的解決方案,這裏是10什麼,是它的大小? – shanish
這是基數參數。它告訴'parseInt'在哪個基礎上投射。如果你不這樣說,'parseInt'會嘗試爲你猜測。例如,當你想要基數爲10時,'parseInt(「09」)'強制轉換爲8。 –
感謝Florian .. – shanish