今天写了一个查询翻页,逻辑是输入的number值大于当前页就取消翻页
jump = function (num){
if(num < 1 || num > $("#maxPage").text()){
alert("没有此页");
$("#jump").val(cur);
return false;
}
cur = num;
$("#jump").val(cur);
load();
}
但是出现了一个问题:输入十以下的数字都是可以正常判断,当输入的数字超过九时就会判断失效
一开始没看出来,找了一会原因,输出在控制台 :
console.log(num,$("#maxPage").text(),num > $("#maxPage").text());
怎么回事?9>3 是 true ,10>3 就是false
原来是javascript自动转换的问题:10以内的就是 9>3 超过两位数字就是 "10" > 3
所以加上类型转换就行了
if(num < 1 || parseInt(num) > $("#maxPage").text()){
alert("没有此页");
$("#jump").val(cur);
return false;
}