Jquery IF声明少于问题

时间:2014-01-24 11:48:31

标签: jquery if-statement conditional-statements

这应该很简单,但我似乎错过了一些东西..

start = $('[name=start]').val().split('.');
last = start[3];
end = $('[name=end]').val();

if (end < last) {
   alert('BLAH BLAH');
   return false;
}

我已经提醒了价值观,我可以看到一个测试

last = 100

end = 90

因此应显示if ( 90 < 100 )警报,但不是。

我做错了什么? 感谢

3 个答案:

答案 0 :(得分:5)

您要比较的值是字符串,而不是整数,因此它们按字典顺序进行比较。在浏览器控制台中试试这个:

90 < 100       => true
"90" < "100"   => false

首先将它们转换为数字以进行数字比较:

last = +start[3];   // The + prefix is equivalent to Number(start[3])
end = +$('[name=end]').val();

请注意,如果任一输入不是有效数字,+ / Number(...)方法将返回NaN;或者你可以使用parseInt,它有一些不同的语义。

答案 1 :(得分:0)

试试这个

if (parseInt(end,10) < parseInt(last,10)) { alert('BLAH BLAH'); return false; }

答案 2 :(得分:0)

尝试这样

    if(parseInt(end) < parseInt(last)){

           //your code
    }