检查值是否小于另一个值

时间:2014-04-23 13:33:55

标签: jquery html

我知道这可能看起来很愚蠢,但我无法相互检查2个值。以下代码我多次使用它们并且它们可以工作,但在一个实例中它只是做了奇怪的事情。 在头版我得到了:

<input type=\"text\" name=\"v571\" id=\"v571\" value=\"\" size=\"18\"/>
<input type=\"hidden\" name=\"v571a\" id=\"v571a\" value=\"140\"/>

在js脚本中我有:

if( $('#v571').val() > $('#v571a').val()) {
    $('#v571').addClass('error');
    error++;
} 

结果如下:

if v571 betweem 100 and 140 -> no error (should get no error)
if v571 less then 100 -> error (should get an error)
if v571 bigger then 140 -> error (should get an error)
if v571 bigger then 140 , but the number starts with 1 (eg: 1000, 1200, 12312, 1xxx...) -> no error (should get an error)
if v571 is 1,10,11 it's ok (should get no error)
if v571 is anything else less then 100 -> error (should get no error)

我也得到了完美的效果:

<input type=\"text\" name=\"v572\" id=\"v572\" value=\"\" size=\"18\"/>
<input type=\"hidden\" name=\"v572a\" id=\"v572a\" value=\"148\"/>
<input type=\"hidden\" name=\"v572b\" id=\"v572b\" value=\"152\"/>

和js:

if( $('#v572').val() < $('#v572a').val() || $('#v572').val() > $('#v572b').val()) {
    $('#v572').addClass('error');
    error++;
} 

2 个答案:

答案 0 :(得分:7)

使用parseInt比较整数:

var v1 = parseInt($('#v571').val(),10); // always use a radix
var v2 = parseInt($('#v571a').val(),10);
if( v1 > v2) {
    $('#v571').addClass('error');
    error++;
} 

答案 1 :(得分:1)

if( parseInt($('#v571').val()) > parseInt($('#v571a').val())) {
    $('#v571').addClass('error');
    error++;
}