Number()的妙用
Number()是javascript中将字符型转换为数值型的函数;
问题描述:做分页,用js实现,获取当前页面的值,然后js自加1,可是点击下一页时,直接跳到最后一页。选择跳转到某页的时候,有的页码无法找到。代码如下
 //下一页
 function NextPage() {
 var endPage = $.trim($("#endPage").val());
 var nextPage =$.trim($("#curPageIndex").val());
 if (nextPage >= endPage) {
 nextPage = endPage;
 }
 else {
 nextPage ++;
 } 
 var targetPageAddr = $("#targetPageAddr").val();
 window.location = targetPageAddr + encodeURIComponent(nextPage);
 } 
 //直接跳转到某页
 function ToJumpPage() {
 var endPage = $.trim($("#endPage").val());
 var jumpPage = $.trim($("#XPage").val());
 if (/\D/.test(jumpPage)) {
 $("#XPage").attr("value", "");
 alert("请输入正整数!");
 return;
 }
 if (jumpPage > endPage || jumpPage < 1) {
 $("#XPage").attr("value", "");
 alert("抱歉,第" + jumpPage + "页不存在!"); 
 return;
 }
 var targetPageAddr = $("#targetPageAddr").val();
 window.location = targetPageAddr + encodeURIComponent(jumpPage);
 //window.location = "./Function.aspx?curPageIndex=" + encodeURIComponent(jumpPage);
 }
应用了Number()后,也就是这样的代码,则实现了正常功能。
//下一页
 function NextPage() {
 var endPage = $.trim($("#endPage").val());
 var nextPage =Number($.trim($("#curPageIndex").val()));
 if (nextPage >= endPage) {
 nextPage = endPage;
 }
 else {
 nextPage ++;
 } 
 var targetPageAddr = $("#targetPageAddr").val();
 window.location = targetPageAddr + encodeURIComponent(nextPage);
 } 
 //直接跳转到某页
 function ToJumpPage() {
 var endPage = $.trim($("#endPage").val());
 var jumpPage = Number($.trim($("#XPage").val()));
 if (/\D/.test(jumpPage)) {
 $("#XPage").attr("value", "");
 alert("请输入正整数!");
 return;
 }
 if (jumpPage > endPage || jumpPage < 1) {
 $("#XPage").attr("value", "");
 alert("抱歉,第" + jumpPage + "页不存在!"); 
 return;
 }
 var targetPageAddr = $("#targetPageAddr").val();
 window.location = targetPageAddr + encodeURIComponent(jumpPage);
 //window.location = "./Function.aspx?curPageIndex=" + encodeURIComponent(jumpPage);
 }
技术含量较低,欢迎大家提出更好的方法!也欢迎大家拍砖!