jquery分页条(基于pagehelper)
程序员文章站
2022-03-22 14:49:27
function getbookinfo(pageNum,pageSize) { var datas='default'; var realUrl="/ssm/book/findALL/"+pageSize+"/"+pageNum+""; var realType="POST"; jQuery.aj... ......
function getbookinfo(pagenum,pagesize)
{
var datas='default';
var realurl="/ssm/book/findall/"+pagesize+"/"+pagenum+"";
var realtype="post";
jquery.ajax({
url: realurl,
type: realtype,
datatype: "json",
async: false,
success: function (datatemp) {
datas = datatemp;
//console.log('datas------------1----------'+datas);
},
error: function (jqxhr,textstatus,errorthrown){
//console.log('textstatus----------'+textstatus);
//console.log('jqxhr.readystate----------'+jqxhr.readystate);
datas='getbookinfoerror';
alert('error');
}
});
return datas
}
function table_tr(table_data)
{
var tabledata="";
for(var j = 0;j<table_data.books.length;j++){
tabledata +="<tr>";
tabledata +="<td><input type='checkbox' name='bookid' id='"+table_data.books[j].bookid+"' value='"+table_data.books[j].bookid+"'></td>";
tabledata +="<td><input readonly='readonly' type='text' name='bookname' id='"+table_data.books[j].bookid+"_bookname' value='"+table_data.books[j].bookname+"'></td>";
tabledata +="<td><input readonly='readonly' type='text' name='download' id='"+table_data.books[j].bookid+"_download' value='"+table_data.books[j].download+"'></td>";
tabledata +="<td><input readonly='readonly' type='text' name='publishdate' id='"+table_data.books[j].bookid+"_publishdate' value='"+table_data.books[j].publishdate+"'></td>";
tabledata +="<td><input readonly='readonly' type='text' name='link' id='"+table_data.books[j].bookid+"_link' value='"+table_data.books[j].link+"'></td>";
tabledata +="</tr>";
}
jquery("tbody").empty();
jquery("tbody").prepend(tabledata);
}
function tableinsert(table_data)
{
//将返回的值拼接到表里
table_tr(table_data);
}
function tableframe()
{
var tabledata="";
tabledata +="<thead>";
tabledata +="<tr>";
tabledata +="<th>选择</th>";
tabledata +="<th>图书名称</th>";
tabledata +="<th>下载量</th>";
tabledata +="<th>出版时间</th>";
tabledata +="<th>外链数</th>";
tabledata +="</tr>";
tabledata +="</thead>";
tabledata +="<tbody>";
tabledata +="</tbody>";
jquery("table").append(tabledata);// 拼接进<table></table>
}
jquery(function() {
tableframe();//拼接table的表头
var pagesize=1;//每页显示数量
jquery("#pagesize").val(parsefloat(pagesize));
var pagenum=1;//初始页码
jquery("#pagenum").val(parsefloat(pagenum));
loadtable(pagesize,pagenum);
})
//更新数据后调用分页条的例子
function loadtable(pagesize,pagenum)
{
//调用数据:根据当前页码pagenum,每页显示数量pagesize,从后台取值,后台建议用mybatis和pagehelper
var table_data=getbookinfo(pagenum,pagesize);//实际使用到getbookinfo方法里根据ajax获取数据,
//更新数据
tableinsert(table_data);//实际使用到tableinsert里拼接数据,
//重新更新页面数据需要更新分页条需要的信息放到页面,然后将pageinfo返回的导航分页navigatepagenums直接拼接成分页条
jquery("#pagesize").val(parsefloat(pagesize));
jquery("#pagenum").val(parsefloat(pagenum));
jquery("#pages").val(table_data.pages);
var allpagenum=jquery("#allpagenum").val(table_data.navigatepagenums);
var total=jquery("#total").val(table_data.total);
//调用分页条方法
pagetoorbar();
}
//分页插件
function pagetoorbar()
{
//------------使用方法:可以通过mybatis的pagehelper从后台传数据到页面并将以下参数赋值,然后在调用本分页方法pagetoorbar()
//-------如下例子
//<lable>每页显示数量pagesize</lable>
//<input readonly='readonly' type="text" name="pagesize" id="pagesize" value="" />
//<lable>当前页码pagenum</lable>
//<input readonly='readonly' type="text" name="pagenum" id="pagenum" value="" />
//<lable>总页数pages</lable>
//<input readonly='readonly' type="text" name="pages" id="pages" value="" />
//<lable>总记录数total</lable>
//<input readonly='readonly' type="text" name="total" id="total" value="" />
//<lable>分页条数据</lable>
//<input readonly='readonly' type="text" name="allpagenum" id="allpagenum" value=""/>
//---------页面上要有放置分页条的地方,如下:
//由于用了bootrapt分页条布局需引入:
//相应bootstrap配置:bootstrap.min.css
//相应bootstrap配置:jquery-3.3.1.min.js
//相应bootstrap配置:bootstrap.js
//bootrapt分页条:
//<nav aria-label="page navigation">
// <ul class="pagination">
// <li><span>首页</span></li>
// <!-- 上一页 -->
// <li><span aria-hidden="true">«</span></li>
//
// <!-- 页码 -->
// <li ><span>1</span></li> <!-- li标签:设置无法点击class="disabled" 选中class="active" -->
// <li class="disabled"><span>..</span></li>
// <li ><span>1000</span></li>
// <!-- 下一页 -->
// <li><span aria-hidden="true">»</span></li>
// <li><span>尾页</span></li>
// </ul>
//</nav>
var allpagenum=jquery("#allpagenum").val();
var pagenum=jquery("#pagenum").val();
table_pagetoorbar(allpagenum,pagenum);
}
function table_pagetoorbar(allpagenum,nowpage)
{
var allpagenumarray=new array();
allpagenumarray=allpagenum.split(",");//页码数组
jquery("ul").empty();
var pagetoorbar="<li><span onclick='firstpage()'>首页</span></li>";
pagetoorbar += "<li><span onclick='previouspage()' aria-hidden='true'>上一页</span></li>";
pagetoorbar = table_pagetoorbar_insert(allpagenumarray,nowpage,pagetoorbar);
pagetoorbar += "<li><span onclick='nextpage()' aria-hidden='true'>下一页</span></li>";
pagetoorbar += "<li><span onclick='lastpage()' >尾页</span></li>";
jquery("ul").prepend(pagetoorbar);
}
function table_pagetoorbar_insert(allpagenumarray,nowpage,pagetoorbar)
{
for(var i=0;i<allpagenumarray.length;i++)
{
if(allpagenumarray[i]==nowpage)
{
pagetoorbar += "<li class='active'><span onclick='gopage("+allpagenumarray[i]+")'>"+allpagenumarray[i]+"</span></li>";
}else
{
pagetoorbar += "<li ><span onclick='gopage("+allpagenumarray[i]+")'>"+allpagenumarray[i]+"</span></li>";
}
}
return pagetoorbar;
}
function nextpage()
{
var pagesize=jquery("#pagesize").val();
var total=jquery("#total").val();
var pagenumnow=jquery("#pagenum").val();
var allpagenum=jquery("#allpagenum").val();
var allpagenumarray=new array();
allpagenumarray=allpagenum.split(",");//页码数组
var lastpagenum=allpagenumarray[allpagenumarray.length-1];
if(total!='0')
{
if(lastpagenum==pagenumnow)
{
return;
}else{
jquery("#pagenum").val(parsefloat(pagenumnow)+1);
var pagenum=jquery("#pagenum").val();
//更新数据和分页条方法
loadtable(pagesize,pagenum);
}
}
}
function lastpage()
{
var pagesize=jquery("#pagesize").val();
var pages=jquery("#pages").val();
if(total!='0')
{
jquery("#pagenum").val(parsefloat(pages));
var pagenum=jquery("#pagenum").val();
//更新数据和分页条方法
loadtable(pagesize,pagenum);
}
}
function firstpage()
{
var pagesize=jquery("#pagesize").val();
if(total!='0')
{
jquery("#pagenum").val(1);
var pagenum=jquery("#pagenum").val();
//更新数据和分页条方法
loadtable(pagesize,pagenum);
}
}
function previouspage()
{
var pagesize=jquery("#pagesize").val();
var total=jquery("#total").val();
var pagenumnow=jquery("#pagenum").val();
if(total!='0')
{
var ys=total%pagesize;
var ms=total/pagesize;
if(ys=='0')
{
if(pagenumnow=='1')
{
return;
}else{
jquery("#pagenum").val(parsefloat(pagenumnow)-1);
var pagenum=jquery("#pagenum").val();
//更新数据和分页条方法
loadtable(pagesize,pagenum);
}
}else{
if(pagenumnow=='1')
{
return;
}else{
jquery("#pagenum").val(parsefloat(pagenumnow)-1);
var pagenum=jquery("#pagenum").val();
//更新数据和分页条方法
loadtable(pagesize,pagenum);
}
}
}
}
function gopage(pagenum)
{
var pagesize=jquery("#pagesize").val();
var total=jquery("#total").val();
jquery("#pagenum").val(parsefloat(pagenum));
var pagenum=jquery("#pagenum").val();
//更新数据和分页条方法
loadtable(pagesize,pagenum);
}