2012-10-22 27 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