最近需要用到分页程序,想用一个现成的东西,开始选择了pagetaglib。结果pagetaglib对中文参数支持不好。于是选用js。在google上g了一下。结果发现了很多。反正比较合适的是不多。不是太庞大就是不能用。最后找到一个,有些bug,经过改正,现在备忘一下,以备后面使用:
----------------------------------------------------------------------------------------------------------------------------------
<script language="javascript" type="text/javascript" >
function pageModel(pageSize, recordCount, currentPage, align, navigaterUrl,key,col){
this.pageSize = pageSize;
this.recordCount = recordCount;
this.currentPage = currentPage;
//this.width = 300;
this.align = align;
this.navigaterUrl = navigaterUrl;
this.pageCount = 0;
this.key=key;
this.col=col;
this.pageNumber=10;
};
pageModel.prototype.toString = function() {
this.pageCount=parseInt(((this.recordCount+this.pageSize)-1)/this.pageSize);
var p=( this.currentPage - ( this.currentPage % 10 ) ) / 10; //计算分页显示的页数
var strBuilder=new String();
strBuilder += "<table border='0' cellpadding='0' cellspacing='0' ";
strBuilder += " align='"+this.align+"'>";
strBuilder += " <tr> ";
//显示分页信息
strBuilder += "<td valign='middle'>页次:[<b>"+this.currentPage+"</b>/<b>"+this.pageCount+"</b>]页 每页[<b>";
strBuilder += this.pageSize+"</b>]条 总记录数:[<b>"+this.recordCount+"</b>]条</td>" ;
//显示分页列表
strBuilder+=" <td valign='bottom' align='right'> 分页:";
//首组为第0族
if ( 1 == this.currentPage ){
} else {
strBuilder+="<a href='"+this.navigaterUrl+"?pageindex=1"+"&key="+this.key+"&col="+this.col+"' title='首页'><img src='resources/js/images/first.gif' border='0'></a> "
}
if(this.currentPage>1){
strBuilder+="<a href='"+this.navigaterUrl+"?pageindex="+(this.currentPage-1)+"&key="+this.key+ "&col="+this.col+ "' title='上一页'><img src='resources/js/images/pre.gif' border='0'></a> "
}
strBuilder+="<b>"
//分页列表
for( var i =((p * this.pageNumber)==0?1:(p * this.pageNumber)); i <=p * this.pageNumber + this.pageNumber; i++ ){
if (i==this.currentPage){
strBuilder+="<font color='#000000'>"+i+"</font> "
} else {
strBuilder+="<a href='"+this.navigaterUrl+"?pageindex=" + i +"&key="+this.key+"&col="+this.col+ "' title='转到: 第"+i+"页'>" + i + "</a> "
}
if ( i >= this.pageCount )break;
}
strBuilder+= "</b>"
if(this.currentPage<this.pageCount){
// alert(this.currentPage);
strBuilder+="<a href='"+this.navigaterUrl+"?pageindex="+(this.currentPage+1)+"&key="+this.key+ "&col="+this.col+ "' title='下一页'><img src='resources/js/images/next.gif' border='0'></a> "
}
if (this.currentPage==this.pageCount){
// strBuilder+= "<font face='webdings' color='#000000'>:</font> "
}else{
strBuilder+= "<a href='"+this.navigaterUrl+"?pageindex="+this.pageCount+"&key="+this.key+ "&col="+this.col+ "' title='尾页'><img src='resources/js/images/last.gif' border='0'></a> "
}
strBuilder+= "</td></tr></table>"
return strBuilder;
}
</script>
----------------------------------------------------------------------------------------------------------------------------------
<script language="javascript">
pager = new pageModel(10, <%=totalnumber%>,<%=currentPage%>, "right", "search.action",'<%=key%>','<%=col%>') ;
document.write(pager);
</script>