这应该很简单,但我似乎错过了一些东西..
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 )
警报,但不是。
我做错了什么? 感谢
答案 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
}