欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jquery分页条(基于pagehelper)

程序员文章站 2023-12-01 23:49:46
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);
}