2012-10-22 24 views
0

我正在讀的值作爲jQuery的parseInt函數不能做出正確的結果

var result = $("#Time", $(this)).val(); 

如果我輸入「時間」,而不是一個數字,而我呢0<parseInt(result, 10)<24),我希望它是假的結果爲真。

我的代碼有什麼問題?

+1

請注意(一旦你採取David的建議,下面),你可能需要'0 <='而不是'0 <'... – nnnnnn

回答

3

您的第一個比較0 < NaN將產生false,這是排序0,因此0 < 24,這是正確的。

var result = parseInt($('#Time', $(this)).val(), 10); 
var between0and24 = 0 < result && result < 24 

我還注意到,你似乎錯誤地傳遞上下文。 jQuery的上下文參數應該是一個DOM節點,而不是一個jQuery對象,所以使用$('#Time', this)。請注意,在此代碼中,此參數沒有用處,因爲通過ID訪問非常快,因爲您沒有將Time ID用於文檔中的多個元素,對吧?那麼你不應該。

+0

我怎樣才能實現結果爲false? – learning

+0

@學習:通過在我的答案中使用代碼。從'x