整理jquery pagination ajax分页

引入的文件


html代码

			<div id="tablewrapper">
				<div id="Searchresult">
					<table id="listTable" class="table table-striped">
						<thead>
							<tr>
								<th>id</th>
								<th>书名</th>
								<th>ISBN</th>
								<th>作者</th>
								<th>进货价格</th>
								<th>销售价格</th>
								<th>出版商</th>
								<th>供应商</th>
								<th>操作</th>
							</tr>
						</thead>
						<tbody>
						</tbody>
					</table>
				</div>
				<div id="Pagination" class="pagination">
					<!-- 这里显示分页 -->
				</div>

				<div id="hiddenresult" style="display:none;">
					<!-- 列表元素 -->
					<table id="listTable" class="table table-striped">
						<tbody>
							<c:forEach items="${books}" var="current" varStatus="i">

								<tr class="show1">
									<td>${current.id}</td>
									<td>${current.name}</td>
									<td>${current.isbn }</td>
									<td>${current.author }</td>
									<td>${current.inPrice }</td>
									<td>${current.outPrice }</td>
									<td>${current.publisher }</td>
									<td>${current.provider.name }</td>
									<td nowrap="nowrap" class="tabletd"><a title="查看"
										href="${pageContext.request.contextPath}/selectBook?idKey=${current.id}&">查看</a>
										<a title="编辑"
										href="${pageContext.request.contextPath}/editBook?idKey=${current.id}&">编辑</a>
										<a title="删除"
										href="${pageContext.request.contextPath}/deleteBook?idKey=${current.id}&">删除</a>
									</td>
								</tr>

							</c:forEach>
						</tbody>
					</table>
				</div>
			</div>

注意这里的三个id

Searchresult、Pagination、hiddenresult

分别对应的是查询结果(页面上显示的数据)、分页(点击上一页、下一页的地方)、隐藏的结果(后台返回的全部数据)

js代码:

$(function(){
	
	var num_entries = $("#hiddenresult .show1").length;//这里获取所有数据的条数
	var initPagination = function() {
		// 创建分页
		$("#Pagination").pagination(num_entries, {
			num_edge_entries: 1, //边缘页数
			num_display_entries: 4, //主体页数
			callback: pageselectCallback,//回调函数
			items_per_page:2 //每页显示2项
		});
	 }();
	 
	function pageselectCallback(page_index, jq){
		// 从表单获取每页的显示的列表项数目
		var items_per_page = 2;
		var max_elem = Math.min((page_index+1) * items_per_page, num_entries);//当前页的最大数据
		$("#Searchresult table tbody").empty();//将显示结果的地方清空
		// 获取加载元素
		for(var i=page_index*items_per_page;i<max_elem;i++){
			var new_content = $("#hiddenresult .show1:eq("+i+")").clone();
			$("#Searchresult table tbody").append(new_content); //装载对应分页的内容
		}
		//阻止单击事件
		return false;

	}
	
});

基本上就是这样的操作。

hiddenresult部分为后台传过来的全部数据。一次性加载所有数据,当数据比较大的时候,加载就呵呵了。

结果:



猜你喜欢

转载自blog.csdn.net/twentyseventh/article/details/79780525