手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >基于Jquery实现表格动态分页实现代码
基于Jquery实现表格动态分页实现代码
摘要:当页面点击分页图标时,程序会自动去后台获取对应页数的记录。关键代码如下:需要引入的css和js文件有:复制代码代码如下:其中jsp页面代码如...

当页面点击分页图标时,程序会自动去后台获取对应页数的记录。

关键代码如下:

需要引入的css和js文件有:

复制代码 代码如下:

<link rel="stylesheet" type="text/css" href="<%=basePath %>css/theme/default/css/jpage.css"></link>

<link ID="skin" rel="stylesheet" type="text/css" href="<%=basePath %>css/config.css" />

<script language="javascript" type="text/javascript" src="<%=basePath %>js/jquery.js"></script>

其中jsp页面代码如下:

复制代码 代码如下:

<script language="jscript" type="text/javascript">

var pageIndex = 1; //当前页数

$(function(){

GetPageCount();//获取分页数量以及总的记录条数

$("#load").hide();//隐藏loading提示

$("#template").hide();//隐藏模板

ChangeState(0,1);//设置翻页按钮的初始状态

bind();//绑定第一页的数据

//第一页按钮click事件

$("#first").click(function(){

pageIndex = 1;

ChangeState(0,1);

bind();

});

//上一页按钮click事件

$("#previous").click(function(){

pageIndex -= 1;

ChangeState(-1,1);

if(pageIndex <= 1){

pageIndex = 1;

ChangeState(0,-1);

}

bind();

});

//下一页按钮click事件

$("#next").click(function(){

pageIndex += 1;

ChangeState(1,-1);

if(pageIndex>=pageCount)

{

pageIndex = pageCount;

ChangeState(-1,0);

}

bind(pageIndex);

});

//最后一页按钮click事件

$("#last").click(function(){

pageIndex = pageCount;

ChangeState(1,0);

bind(pageIndex);

});

//每页显示记录条数select事件

$("#pageSize").change(function(){

bind();

})

});

//AJAX方法取得数据并显示到页面上

function bind(){

$("#load").show();

var pageSize = $("#pageSize").val();

$.ajax({

type: "get",//使用get方法访问后台

dataType: "json",//返回json格式的数据

url: "<%=basePath%>actionSmUser.do?method=listUser2",//要访问的后台地址

data: "pageIndex=" + pageIndex+"&pageSize="+pageSize,//要发送的数据

complete : function(msg){//msg为返回的数据,在这里做数据绑定

$("[id=ready]").remove();

var data = eval("("+msg.responseText+")");

$.each(data, function(i, n){

var row = $("#template").clone();

row.find("#userId").text(n.userId);

row.find("#userName").text(n.userName);

row.find("#depId").text(n.depId);

row.find("#createTime").text(n.createTime);

if(n.createTime !== undefined) row.find("#createTime").text(n.createTime);

row.find("#creator").text(n.creator);

row.find("#menusId").text(n.menusId);

row.find("#isValid").text(n.isValid);

row.attr("id","ready");//改变绑定好数据的行的id

row.appendTo("#datas");//添加到模板的容器中

});

$("[id=ready]").show();

SetPageInfo();

}

});

}

function ChangeDate(date){

return date.replace("-","/").replace("-","/");

}

//设置第几页/共几页的信息

function SetPageInfo(){

var pageCount = $("#pageCount").val();

var totalCount = $("#totalCount").val();

var pageSize = $("#pageSize").val();

$("#pageinfo").html(" 第<input id='pageIndex' type='text' value='"+pageIndex+

"' /> 页" + "/" +"共 "+pageCount+"页"+

" 检索到 "+totalCount+"条记录,显示第 "+(pageIndex*pageSize-pageSize)+" 条 - 第 "+(pageIndex*pageSize)+" 条记录");

}

//AJAX方法取得分页总数

function GetPageCount(){

var pageSize = $("#pageSize").val();

$.ajax({

type: "get",

dataType: "text",

url: "<%=basePath%>actionSmUser.do?method=getPageCount",

data: "pageSize="+pageSize ,

async: false,

success: function(msg){

var data = eval("("+msg+")");

$("#pageCount").val(data[0].pageCount);

$("#totalCount").val(data[0].totalCount);

}

});

}

//改变翻页按钮状态

function ChangeState(state1,state2){

$("#first").attr("class","default_pgFirst default_pgBtn");

$("#previous").attr("class","default_pgPrev default_pgBtn");

$("#next").attr("class","default_pgNext default_pgBtn");

$("#last").attr("class","default_pgLast default_pgBtn");

if(state1 == 1) {

document.getElementById("first").disabled = "";

document.getElementById("previous").disabled = "";

}else if(state1 == 0){

document.getElementById("first").disabled = "disabled";

document.getElementById("previous").disabled = "disabled";

$("#first").attr("class","default_pgFirstDisabled default_pgBtn");

$("#previous").attr("class","default_pgPrevDisabled default_pgBtn");

}if(state2 == 1){

document.getElementById("next").disabled = "";

document.getElementById("last").disabled = "";

}else if(state2 == 0){

document.getElementById("next").disabled = "disabled";

document.getElementById("last").disabled = "disabled";

$("#next").attr("class","default_pgNextDisabled default_pgBtn");

$("#last").attr("class","default_pgLastDisabled default_pgBtn");

}

}

</script>

html页面代码如下:

复制代码 代码如下:

<body>

<div>

<div>

<br />

<table id="datas" align="center" width="100%" bgcolor="#CCCCCC" cellSpacing="1" cellpadding="1">

<tr>

<th width="14%">

用户ID</th>

<th width="14%">

用户名称</th>

<th width="14%">

所在科室</th>

<th width="14%">

创建时间</th>

<th width="14%">

创建人</th>

<th width="14%">

菜单集名称</th>

<th width="14%">

是否有效</th>

</tr>

<tr id="template" height="22px" bgcolor="#F9FDFF" onmouseover="javascript:this.style.backgroundColor='#FFFFCC'; return true;" onMouseOut="javascript:this.style.backgroundColor='#F9FDFF'; return true;">

<td id="userId">

</td>

<td id="userName">

</td>

<td id="depId">

</td>

<td id="createTime">

</td>

<td id="creator">

</td>

<td id="menusId">

</td>

<td id="isValid">

</td>

</tr>

</table>

</div>

<div id="load">

LOADING....

</div>

<div >

<div>

<div id="skinDiv">

<table>

<tr>

<td>

<select id="pageSize" name="pageSize">

<option selected="selected" value="10">10</option>

<option value="20">20</option>

<option value="30">30</option>

</select>

</td>

<td>

<div id="first" />

</td>

<td>

<div id="previous" />

</td>

<td>

</td>

<td>

<div id="next" />

</td>

<td>

<div id="last" />

</td>

<td>

</td>

<td>

<span id="pageinfo"></span>

</td>

</tr>

</table>

</div>

</div>

</div>

</div>

<div id="test"></div>

<input type="hidden" id="pageCount" />

<input type="hidden" id="totalCount" />

</body>

后台action中代码如下:

复制代码 代码如下:

//分页获取用户信息

public void listUser2(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response){

RequestTool tool = new RequestTool(request);

Integer pageSize = tool.getIntParameter("pageSize");

Integer pageIndex = tool.getIntParameter("pageIndex");

ResultPage res = serviceSmUserImpl.findAllSmUsers(pageIndex, pageSize);

List<SmUser> smUserList = (List<SmUser>)res.getResult();

JSONArray array = new JSONArray();

JSONObject object ;

for(SmUser user:smUserList){

object = new JSONObject();

object.put("userId", user.getUserId());

object.put("userName",user.getUserName());

object.put("depId", user.getOrganCode());

object.put("createTime", user.getCreateTime());

object.put("creator", user.getCreator());

object.put("menusId", user.getMenusId());

object.put("isValid", (user.getValid().equals("1")?"有效":"无效"));

array.add(object);

}

AjaxTool.returnAjaxResponse(response, array.toJSONString());

}

//获取总的记录数和总页数

public void getPageCount(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response){

RequestTool tool = new RequestTool(request);

int pageSize = tool.getIntParameter("pageSize");

List<POJO> pojos = serviceSmUserImpl.findAll();

int pageCount = pojos.size()% pageSize > 0 ? (pojos.size()/ pageSize+1):(pojos.size()/ pageSize);

JSONArray array = new JSONArray();

JSONObject object = new JSONObject();

object.put("pageCount", pageCount);

object.put("totalCount", pojos.size());

array.add(object);

AjaxTool.returnAjaxResponse(response,array.toJSONString());

}

文件打包下载

【基于Jquery实现表格动态分页实现代码】相关文章:

Jquery实现动态切换图片的方法

jQuery实现的多屏图像图层切换效果实例

jQuery实现div随意拖动的实例代码(通用代码)

Js和JQuery获取鼠标指针坐标的实现代码分享

JS+CSS实现的拖动分页效果实例

jquery实现动态改变div宽度和高度

免费空间广告万能消除代码

基于JavaScript实现动态添加删除表格的行

jQuery的Scrollify插件实现滑动到页面下一节点

JavaScript实现列表分页功能特效

精品推荐
分类导航