jquery实现分页功能,jquery前端分页

JQ前台分页

对于你这种情况,最好选一个表格插件,JQ能用的第三方表格插件特别多,你想要的这些功能默认都已经支持,上手简单,且功能强大。

创新互联专注于汨罗企业网站建设,响应式网站开发,商城开发。汨罗网站建设公司,为汨罗等地区提供建站服务。全流程专业公司,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

GridManager.js:

GridManager.js可快速的对table标签进行实例化,实例化后将实现以下功能:

宽度调整: 表格的列宽度可进行拖拽式调整

位置更换: 表格的列位置进行拖拽式调整

配置列: 可通过配置对列进行显示隐藏转换

表头吸顶: 在表存在可视区域的情况下,表头将一直存在于顶部

排序: 表格单项排序或组合排序

分页: 表格ajax分页,包含选择每页显示总条数和跳转至指定页功能

用户偏好记忆: 记住用户行为,含用户调整的列宽、列顺序、列可视状态及每页显示条数

序号: 自动生成序号列

全选: 自动生成全选列

导出: 当前页数据下载,和仅针对已选中的表格下载

右键菜单: 常用功能在菜单中可进行快捷操作

过滤: 通过对列进行过滤达到快速搜索效果

Datatables是一款jquery表格插件。它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能。

分页,即时搜索和排序

几乎支持任何数据源:DOM, javascript, Ajax 和 服务器处理

支持不同主题 DataTables, jQuery UI, Bootstrap, Foundation

各式各样的扩展: Editor, TableTools, FixedColumns ……

丰富多样的option和强大的API

支持国际化

Bootstrap Table显示数据表格格式,提供了丰富的支持,单选框、复选框、排序、分页等。

更多插件可自行百度jquery table插件,类似的插件很多。

jquery datatable如何动态分页

一、分页

分页的基本思想是根据datatable的页码及每页显示的行数,将数据从数据库分段提出,然后再填充到表格中,以达到分页的效果。

这里需要用到datatable插件的几个属性:

"sEcho":这个属性需要原封不动地传回给datatable,具体的作用我也不清楚,但是根据它值的变化情况来看,好像是一个操作次数的计数(之前我一直把它当做是pageindex来用,结果发现,不论我在datatable中是翻下一页还是翻上一页,它一直在增加。)

"iDisplayStart":这个属性,根据字面意思理解,就是每段数据开始的行数,比如第一页的数据就是从0开始计,那么它就是0,每页显示的行数是10,那么第二页的第一行的iDisplayStart就是10。

"iDisplayLength":这个属性就是每页显示的行数。

然后是数据库操作,只需要从数据库查询其中一段数据,然后输出出来,转成JSON格式,让datatable插件获取。在网上可以找到很多分页的方法,选择了其中一种,使用row_number()的分页的存储过程。具体代码如下(根据sql创建存储过程模板):

存储过程的两个参数,pageindex表示页索引即当前页码,不懂datatable有没有这项属性,所以是用计算的方法得来的,就是iDisplayStart/iDisplayLength+1。pagesize可以直接从datatable获得。

服务端的代码,我创建了一个datasource.ashx文件,代码如下:

DataTableToObjects类的代码如下:

需要注意的一点:iTotalRecords与iTotalDisplayRecords是两个不同的值,是改变分页栏显示用的参数,这里因为没有考虑数据过滤功能,所以都设置成数据的总的行数。

然后是客户端的代码,与之前的差不多:

因为测试,所以只提取了表中的三个字段,并且关闭了数据过滤及排序功能,其中,"bLengthChange"可以设置成true,因为服务端会获取datatable的iDisplayLenth参数,即使每页显示数变化,数据也可以正常获取。

这样就实现了jquery.datatable插件的服务端分页获取数据。

在jQuery中如何实现动态数据分页

script language="javascript"

var pagesize=5;//每页显示几条信息

var totalRecord=$("#PageCon li").length;//获取信息的总数

//计算总页数

var totalPages=totalRecord % pagesize == 0 ? totalRecord / pagesize : Math.ceil(totalRecord / pagesize);

$(function(){  

$('#PageShowUL').twbsPagination({        

totalPages: totalPages,//总页数        

visiblePages:7,//显示的页数        

version:'1.1',//或1.0  1.1是自动根据当前页动态显示页码      

first:"首页",    

prev:"下一页",    

next:"上一页",    

last:"尾页",        

onPageClick: function (event,page) {          

$("#PageCon li").hide();            

$("#PageCon li").slice((page-1)*pagesize,page*pagesize).show();        

}    

});        

});

/script

具体的看这里:

twbs-pagination分页插件的实际应用实例

jquery动态怎么实现表格分页

!DOCTYPE html    

html lang="en"    

head    

meta charset="UTF-8"    

meta name="viewport" content="width=device-width, initial-scale=1.0"    

meta http-equiv="X-UA-Compatible" content="ie=edge"    

titleDocument/title    

/head    

body    

table    

tr    

th1/th    

th2/th    

th3/th    

th4/th    

/tr    

/table    

table id="result"    

tr    

td1/td    

td2/td    

td3/td    

td4/td    

/tr    

tr    

td1/td    

td2/td    

td3/td    

td4/td    

/tr    

tr    

td1/td    

td2/td    

td3/td    

td4/td    

/tr    

tr    

td1/td    

td2/td    

td3/td    

td4/td    

/tr    

/table    

div id="barcon"/div    

script    

window.onload = function () {    

goPage(1)    

}    

function goPage(pno) {    

var itable = document.getElementById("result");    

var num = itable.rows.length; //表格所有行数(所有记录数)    

console.log(num);    

var totalPage = 0; //总页数    

var pageSize = 3; //每页显示行数    

//总共分几页    

if (num / pageSize  parseInt(num / pageSize)) {    

totalPage = parseInt(num / pageSize) + 1;    

} else {    

totalPage = parseInt(num / pageSize);    

}    

var currentPage = pno; //当前页数    

var startRow = (currentPage - 1) * pageSize + 1; //开始显示的行  31    

var endRow = currentPage * pageSize; //结束显示的行   40    

endRow = (endRow  num) ? num : endRow; //40    

//遍历显示数据实现分页    

for (var i = 1; i  (num + 1); i++) {    

var irow = itable.rows[i - 1];    

if (i = startRow  i = endRow) {    

irow.style.display = "table-row";    

} else {    

irow.style.display = "none";    

}    

}    

var pageEnd = document.getElementById("pageEnd");    

var tempStr = "span共" + totalPage + "页/span";    

if (currentPage  1) {    

tempStr += "span class='btn spanbtn' href=\"#\" onClick=\"goPage(" + (1) + ")\"首页/span";    

tempStr += "span class='btn spanbtn' href=\"#\" onClick=\"goPage(" + (currentPage - 1) + ")\"上一页/span"    

} else {    

tempStr += "span class='btn spanbtn'首页/span";    

tempStr += "span class='btn spanbtn'上一页/span";    

}    

if (totalPage == 1) {    

tempStr += "a onclick=\"goPage(" + currentPage + ")\"span class='spanbtn nowpage pageicon'" + currentPage +    

"/span/a"    

} else if (totalPage == 2  currentPage == 1) {    

tempStr += "a onclick=\"goPage(" + currentPage + ")\"span class='spanbtn pageicon nowpage'" + currentPage +    

"/span/a" + "a onclick=\"goPage(" + (currentPage + 1) + ")\"span class='spanbtn pageicon'" +    

(currentPage + 1) + "/span/a"    

} else if (totalPage == 2  currentPage == 2) {    

tempStr += "a onclick=\"goPage(" + (currentPage - 1) + ")\"span class='spanbtn pageicon'" + (currentPage -    

1) + "/span/a" + "a onclick=\"goPage(" + currentPage + ")\"span class='spanbtn nowpage pageicon'" +    

currentPage + "/span/a"    

} else if (totalPage = 3  currentPage == 1) {    

tempStr += "a onclick=\"goPage(" + currentPage + ")\"span class='spanbtn nowpage pageicon'" + currentPage +    

"/span/a" + "a onclick=\"goPage(" + (currentPage + 1) + ")\"span class='spanbtn pageicon'" +    

(currentPage + 1) +    

"/span/a" + "a onclick=\"goPage(" + (currentPage + 2) + ")\"span class='spanbtn pageicon'" + (    

currentPage + 2) +    

"/span/a"    

} else if (totalPage = 3  currentPage == totalPage) {    

tempStr += "a onclick=\"goPage(" + (currentPage - 2) + ")\"span class='spanbtn pageicon'" + (currentPage -    

2) +    

"/span/a" + "a onclick=\"goPage(" + (currentPage - 1) + ")\"span class='spanbtn pageicon'" +    

(currentPage - 1) +    

"/span/a" + "a onclick=\"goPage(" + currentPage + ")\"span class='spanbtn nowpage  pageicon'" +    

currentPage +    

"/span/a"    

} else {    

tempStr += "a onclick=\"goPage(" + (currentPage - 1) + ")\"span class='spanbtn pageicon'" + (currentPage -    

1) +    

"/span/a" + "a onclick=\"goPage(" + currentPage + ")\"span class='spanbtn nowpage pageicon'" +    

currentPage +    

"/span/a" + "a onclick=\"goPage(" + (currentPage + 1) + ")\"span class='spanbtn pageicon'" + (    

currentPage + 1) +    

"/span/a"    

}    

if (currentPage  totalPage) {    

tempStr += "span class='btn spanbtn' href=\"#\" onClick=\"goPage(" + (currentPage + 1) + ")\"下一页/span";    

tempStr += "span class='btn spanbtn' href=\"#\" onClick=\"goPage(" + (totalPage) + ")\"尾页/span";    

} else {    

tempStr += "span class='btn spanbtn'下一页/span";    

tempStr += "span class='btn spanbtn'尾页/span";    

}    

document.getElementById("barcon").innerHTML = tempStr;    

}    

/script    

/body    

/html

自己修改一下table中元素的CSS样式,分页页码的样式,就能看出来效果了

jquery+ajax怎么实现分页

在加载页面的时候发出一个请求,用ajax请求就可以,请求返回结果是获取所需要的所有信息,存在一个js对象里

//success是请求成功后的返回函数,msg代表的是服务端的返回值,也就是你需要的那些信息

可以将这些信息存到ListUser里,然后再将list转成JSONArray返回,msg就是返回值

var dataObj;

$.ajax({

url:"yourservlet",

type:"POST",

data:"你请求的参数,随便填,只要后台接收了然后调用业务层进行查询返回结果就行",

success:function(msg){

dataObj=msg;

alert("返回成功");

}

});

//之后已经获取到了数据到浏览器,需要根据页数来分页,就是遍历数组了,dataObj就是一个

json对象,根据你的每页数量和页数来获取,这就是思路


本文标题:jquery实现分页功能,jquery前端分页
链接URL:http://scyanting.com/article/dsdshjj.html