js分页

winklq 2017-07-06 09:36:54
var currentPage =1;
var currentPage_=1;//当前页全局变量,用于跳转时判断是否在相同页,在就不跳,否则跳转。
function goPage(currentPage,pageSize){
alert(currentPage);
showMsg();
var pageSize=15;//每页显示行数
var itable = document.getElementById("adminTbody");
var num = itable.rows.length;//表格所有行数(所有记录数)
//总共分几页
if(num/pageSize > parseInt(num/pageSize)){
totalPage=parseInt(num/pageSize)+1;
}else{
totalPage=parseInt(num/pageSize);//总页数
}
currentPage_=currentPage;
var startRow = (currentPage - 1) * pageSize+1; //当前页开始记录
var endRow = currentPage * pageSize; //当前页结束记录
// endRow = (endRow > num)? num : endRow;
//遍历显示数据实现分页
for(var i=1;i<(num+1);i++){
var irow = itable.rows[i-1];
if(i>=startRow && i<=endRow){
irow.style.display = ""; //当前页的数据
}else{
irow.style.display = "none"; //非当前页的数据
}
}

$("#firstPage").on("click",function(){
goPage(1,pageSize);
});
$("#prePage").on("click",function(){
goPage(currentPage-1,pageSize);
});

$("#nextPage").on("click",function(){
goPage(currentPage+1,pageSize);
});
$("#lastPage").on("click",function(){
goPage(totalPage,pageSize);
});
var tempStr = "共"+num+"条记录 分"+totalPage+"页 当前第"+currentPage+"页";
document.getElementById("barcon1").innerHTML = tempStr;

请教一下各位大神,如果currentPage是全局变量,进行条件筛选时就未定义,如果我把currentPage定义在函数内,上一页下一页又失效了,这个currentPage到底应该怎样写呢?
function showMsg(){
var objdbConn = new ActiveXObject("ADODB.Connection");
var strdsn = "";
var objrs = new ActiveXObject("ADODB.Recordset");
objdbConn.Open(strdsn);
var temp = $("#FMouldNo").val();
var temp1 = $("#FName").val();
var temp2 = $("#FMacNo").val();
if($.trim(temp1)==''&&$.trim(temp)==''&&$.trim(temp2)==''){
objrs.Open("select fitemid as 序号,FMouldNo as 模号,FName as 品名,FMeterial as 原料,FColor as 颜色,FMacNo as 机台编号,FMacSpec as 机台规格 from t_MouldStandard",objdbConn,1,3);
var trStr = '';
while (!objrs.EOF){
id = objrs.Fields("序号").Value;
trStr += '<tr>';
trStr += '<td>' + objrs.Fields("模号").Value + '</td>';
trStr += '<td>' + objrs.Fields("品名").Value + '</td>';
trStr += '<td>' + objrs.Fields("原料").Value + '</td>';
trStr += '<td>' + objrs.Fields("颜色").Value + '</td>';
trStr += '<td>' + objrs.Fields("机台编号").Value + '</td>';
trStr += '<td>' + objrs.Fields("机台规格").Value + '</td>';
trStr += '<td>' + '<input type="button" value="修改" onclick="update('+id+')">' + '</td>';
trStr += '</tr>';
objrs.moveNext();
}
$("#adminTbody").html(trStr);
}else if(temp!="" || temp1!="" || temp2!=""){
objrs.Open("select fitemid as 序号,FMouldNo as 模号,FName as 品名,FMeterial as 原料,FColor as 颜色,FMacNo as 机台编号,FMacSpec as 机台规格 from t_MouldStandard where FMouldNo like '%"+temp+"%' and FName like '%"+temp1+"%' and FMacNo like '%"+temp2+"%'",objdbConn,1,3);
var str = '';
while (!objrs.EOF){
id = objrs.Fields("序号").Value;
str += '<tr>';
str += '<td>' + objrs.Fields("模号").Value + '</td>';
str += '<td>' + objrs.Fields("品名").Value + '</td>';
str += '<td>' + objrs.Fields("原料").Value + '</td>';
str += '<td>' + objrs.Fields("颜色").Value + '</td>';
str += '<td>' + objrs.Fields("机台编号").Value + '</td>';
str += '<td>' + objrs.Fields("机台规格").Value + '</td>';
str += '<td>' + '<input type="button" value="修改" onclick="update('+id+')">' + '</td>';
str += '</tr>';
objrs.moveNext();
}
$("#adminTbody").html(str);
}
}
<input type="button" onclick="goPage();" value="查询" />
...全文
250 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
winklq 2017-07-06
  • 打赏
  • 举报
回复
引用 6 楼 showbo 的回复:
window.onload =showMsg 多学下基础了。。
我的input里面是onclick,显示未定义
  • 打赏
  • 举报
回复
window.onload =showMsg 多学下基础了。。
winklq 2017-07-06
  • 打赏
  • 举报
回复
引用 4 楼 showbo 的回复:
[quote=引用 2 楼 winklq 的回复:] [quote=引用 1 楼 showbo 的回复:] 查询是 showMsg()??你放分页里面干嘛又重新查询一次? 全局变量不会出现未定义错误,只能是你currentPage未重置,访问dom数组越界了什么的 goPage里面不要再执行showMsg,并且查询的时候同时重置currentPage为0
如果我不把查询写在分页里面,压根没数据啊[/quote] 。。。。。。。。。。你不知道window.onload的时候调用一次?或者放dom下调用一次,放分页里面又查询一次不是做无用功了,浪费资源 点击查询按钮的时候再执行showMsg一次做查询[/quote] 我不太懂,怎么用window.onload
  • 打赏
  • 举报
回复
引用 2 楼 winklq 的回复:
[quote=引用 1 楼 showbo 的回复:]
查询是 showMsg()??你放分页里面干嘛又重新查询一次?

全局变量不会出现未定义错误,只能是你currentPage未重置,访问dom数组越界了什么的

goPage里面不要再执行showMsg,并且查询的时候同时重置currentPage为0


如果我不把查询写在分页里面,压根没数据啊[/quote]

。。。。。。。。。。你不知道window.onload的时候调用一次?或者放dom下调用一次,放分页里面又查询一次不是做无用功了,浪费资源

点击查询按钮的时候再执行showMsg一次做查询
winklq 2017-07-06
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
查询是 showMsg()??你放分页里面干嘛又重新查询一次? 全局变量不会出现未定义错误,只能是你currentPage未重置,访问dom数组越界了什么的 goPage里面不要再执行showMsg,并且查询的时候同时重置currentPage为0
function goPage(currentPage,pageSize){ var currentPage =1; var pageSize=15;//每页显示行数 var itable = document.getElementById("adminTbody"); var num = itable.rows.length;//表格所有行数(所有记录数) alert(num); 点击查询这个num为0
winklq 2017-07-06
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
查询是 showMsg()??你放分页里面干嘛又重新查询一次? 全局变量不会出现未定义错误,只能是你currentPage未重置,访问dom数组越界了什么的 goPage里面不要再执行showMsg,并且查询的时候同时重置currentPage为0
如果我不把查询写在分页里面,压根没数据啊
  • 打赏
  • 举报
回复
查询是 showMsg()??你放分页里面干嘛又重新查询一次?

全局变量不会出现未定义错误,只能是你currentPage未重置,访问dom数组越界了什么的

goPage里面不要再执行showMsg,并且查询的时候同时重置currentPage为0

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧