jquery ajax分页插件的简单实现
说到基于jQuery的ajax分页插件,那我们就先看看主要的代码结构:
1、首先定义一个pager对象:
var sjPager = window.sjPager = {
opts: {
//默认属性
pageSize: 10,
preText: "pre",
nextText: "next",
firstText: "First",
lastText: "Last",
shiftingLeft: 3,
shiftingRight: 3,
preLeast: 2,
nextLeast: 2,
showFirst: true,
showLast: true,
url: "",
type: "POST",
dataType: "JSON",
searchParam: {},
beforeSend: null,
success: null,
complete: null,
error: function () {
alert("抱歉,请求出错,请重新请求!");
},
},
pagerElement: null,//分页dom元素
commonHtmlText: {
//公共文本变量
},
init: function (obj, op) {
//对象初始化
},
doPage: function (index, pageSize, searchParam) {
//执行分页方法
},
getTotalPage: function () {
//获取总页数
},
createPreAndFirstBtn: function (pageTextArr) {
//创建上一页、首页按钮链接
},
createNextAndLastBtn: function (pageTextArr) {
//创建下一页、尾页按钮链接
},
createIndexBtn: function (pageTextArr) {
//中间分页索引按钮链接
},
renderHtml: function (pageTextArr) {
//渲染分页控件到页面
},
createSpan: function (text, className) {
//创建span
},
createIndexText: function (index, text) {
//创建索引文本
},
jumpToPage: function () {
//跳转到
}
}
对象包含了分页的属性及用到的方法,doPage()为分页的核心方法。
2、进行jQuery扩展
$.fn.sjAjaxPager = function (option) {
return sjPager.init($(this), option);
};
3、插件使用
<body> <table id="dataTable" border="1px"></table> <div id="pager"></div> </body>
$(function() {
$('#pager').sjAjaxPager({
url: "Handler1.ashx",
pageSize: 10,
searchParam: {
/*
* 如果有其他的查询条件,直接在这里传入即可
*/
id: 1,
name:'test',
},
beforeSend: function () {
},
success: function (data) {
/*
*返回的数据根据自己需要处理
*/
var tableStr = "<tr><td>Id</td><td>姓名</td><td>年龄</td></tr>";
$.each(data.items, function(i,v) {
tableStr += "<tr><td>" + v.Id + "</td><td>" + v.Name + "</td><td>" + v.Age + "</td></tr>";
});
$('#dataTable').html(tableStr);
},
complete: function () {
}
});
})
有没有发现使用方式与直接使用ajax基本是一样一样的?
最后我们可以看下出来的效果:(表格样式没有设置比较丑,分页样式自己也可以根据需要修改css文件)

F12打开调试工具,点击分页查看发送的请求及响应:


pageIndex和pageSize为插件默认的参数,在后台可以直接在Request中获取。特别需要注意的是插件的响应也是需要遵循特定的格式{"total":0,"items":[]},如上图中所示total代表数据总记录数,items代表分页的数据。
这里只有代码的大体结构及呈现的效果,大家不妨自己先动手实现一下。
- jQuery Pagination Ajax分页插件(分页切换时无刷新与延迟)中文翻译版
- jquery分页插件jquery.pagination.js使用方法解析
- Jquery 分页插件之Jquery Pagination
- 最实用的jQuery分页插件
- 分享一个自己动手写的jQuery分页插件
- Ajax分页插件Pagination从前台jQuery到后端java总结
- jQuery ajax分页插件实例代码
- 基于bootstrap3和jquery的分页插件
- jQuery插件分享之分页插件jqPagination
- jquery+css3打造一款ajax分页插件(自写)
- 使用JQuery实现的分页插件分享
- jQuery实现的分页插件完整示例
相关文章
jQuery获得IE版本不准确webbrowser的解决方法
用$.browser.version经常出现一些不准确的状况,最近碰到,做了一些总结,不知道是否全面2014-02-02
jQuery.cookie.js实现记录最近浏览过的商品功能示例
这篇文章主要介绍了jQuery.cookie.js实现记录最近浏览过的商品功能,结合实例形式分析了基于jQuery.cookie.js插件创建cookie及保存浏览记录的操作技巧,需要的朋友可以参考下2017-01-01
js原生态函数中使用jQuery中的 $(this)无效的解决方法
今天遇到一个听郁闷的问题,正如title所说 js中原生态函数在jQuery 中使用 $(this) 被解析成undefined2011-05-05
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
款Jquery+CSS3+Html5实现弹出层效果,应用范围很广泛,比如用在消息提示、弹出层显示内容、弹出层登录等,带遮罩效果,非常实用,对此功能感兴趣的朋友可以参考下本地代码2016-05-05
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
支持点击label实现checkbox组选择,头部选项,如全选/ 取消全选 /关闭功能,支持键盘选择等等,下面与大家分享下具体使用2013-05-05
jQuery 追加元素的方法如append、prepend、before
jQuery - 追加元素的方法有很多如append、prepend、before等等,下面为大家详细介绍下2014-01-01


最新评论