jQuery ajax分页插件实例代码


Posted in Javascript onJanuary 27, 2016

推荐阅读:jQuery插件开发精品教程让你的jQuery提升一个台阶

既然说到基于jQuery的ajax分页插件,那我们就先看看主要的代码结构:(我觉得对咱们程序员来说再优美的文字描述、介绍也

比不上代码来得实在。)

1、首先定义一个pager对象:

var sjPager = window.sjPager = {
opts: {
//默认属性
pageSize: ,
preText: "pre",
nextText: "next",
firstText: "First",
lastText: "Last",
shiftingLeft: ,
shiftingRight: ,
preLeast: ,
nextLeast: ,
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="px"></table>
<div id="pager"></div>
</body> 
$(function() {
$('#pager').sjAjaxPager({
url: "Handler.ashx",
pageSize: ,
searchParam: {
/*
* 如果有其他的查询条件,直接在这里传入即可
*/
id: ,
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文件)

jQuery ajax分页插件实例代码

jQuery ajax分页插件实例代码

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

jQuery ajax分页插件实例代码

jQuery ajax分页插件实例代码

pageIndex和pageSize为插件默认的参数,在后台可以直接在Request中获取。特别需要注意的是插件的响应也是需要遵循特定的格式{"total":0,"items":[]},如上图中所示total代表数据总记录数,items代表分页的数据。

下面在来看一个jquery ajax分页插件的例子

对1.0版进行了重构,去掉了一些花销的功能,优化了页面样式,现有功能:

1)、一次性把数据加载到页面内存,在页面进行分页。
2)、使用jquery的ajax每次从服务器取数据分页。
3)、支持自定义分页条样式,插件默认实现两种样式可供选择。

<table id="table2" > 
<thead> 
<tr><th width="200px">网站名称</th> 
<th width="100px">网址</th> 
<th width="100px">知名度</th> 
<th width="120px">访问量</th> 
</tr> 
</thead> 
<tbody></tbody> 
</table> 
$("#table2").bigPage({ajaxData:{url:"ajax.php"}});
Javascript 相关文章推荐
一些有用的JavaScript和jQuery的片段分享
Aug 23 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
Sep 22 Javascript
js获取select默认选中的Option并不是当前选中值
May 07 Javascript
JavaScript DOM操作表格及样式
Apr 13 Javascript
Bootstrap安装环境配置教程分享
May 27 Javascript
js 判断一组日期是否是连续的简单实例
Jul 11 Javascript
ReactJs快速入门教程(精华版)
Nov 28 Javascript
解决Window10系统下Node安装报错的问题分析
Dec 13 Javascript
详解Node.js中exports和module.exports的区别
Apr 19 Javascript
JS中type=&quot;button&quot;和type=&quot;submit&quot;的区别
Jul 04 Javascript
详解js location.href和window.open的几种用法和区别
Dec 02 Javascript
jQuery实现日历效果
Sep 11 jQuery
JavaScript+html5 canvas绘制的小人效果
Jan 27 #Javascript
jquery ajax分页插件的简单实现
Jan 27 #Javascript
JavaScript+html5 canvas制作色彩斑斓的正方形效果
Jan 27 #Javascript
APP中javascript+css3实现下拉刷新效果
Jan 27 #Javascript
jQuery EasyUi实战教程之布局篇
Jan 26 #Javascript
jQuery Easyui实现左右布局
Jan 26 #Javascript
AngualrJS中的Directive制作一个菜单
Jan 26 #Javascript
You might like
学习使用curl采集curl使用方法
2012/01/11 PHP
写出高质量的PHP程序
2012/02/04 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
2016/01/04 PHP
tp5.1 框架路由操作-URL生成实例分析
2020/05/26 PHP
不错的新闻标题颜色效果
2006/12/10 Javascript
让iframe自适应高度(支持XHTML,支持FF)
2007/07/24 Javascript
自制基于jQuery的智能提示插件一枚
2011/02/18 Javascript
jQuery自动切换/点击切换选项卡效果的小例子
2013/08/12 Javascript
JS动态创建DOM元素的方法
2015/06/09 Javascript
jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果
2015/10/28 Javascript
JavaScript 经典实例日常收集整理(常用经典)
2016/03/30 Javascript
详解angular用$sce服务来过滤HTML标签
2017/04/11 Javascript
nodejs个人博客开发第六步 数据分页
2017/04/12 NodeJs
不使用 JS 匿名函数理由
2017/11/17 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
2017/11/18 Javascript
javaScript canvas实现(画笔大小 颜色 橡皮的实例)
2017/11/28 Javascript
利用jqgrid实现上移下移单元格功能
2018/11/07 Javascript
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
Vue 框架之键盘事件、健值修饰符、双向数据绑定
2018/11/14 Javascript
移动端JS实现拖拽两种方法解析
2020/10/12 Javascript
python模拟enum枚举类型的方法小结
2015/04/30 Python
python操作redis的方法
2015/07/07 Python
python opencv 直方图反向投影的方法
2018/02/24 Python
python调用百度语音识别实现大音频文件语音识别功能
2018/08/30 Python
python  创建一个保留重复值的列表的补码
2018/10/15 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
Python在cmd上打印彩色文字实现过程详解
2019/08/07 Python
浅谈HTML5新增及移除的元素
2016/06/27 HTML / CSS
HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧
2018/08/28 HTML / CSS
巴西宠物店在线:Geração Pet
2017/05/31 全球购物
优秀工会工作者事迹材料
2014/06/02 职场文书
小学领导班子对照材料
2014/08/23 职场文书
大明湖导游词
2015/02/03 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书
《日月潭》教学反思
2016/02/20 职场文书
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL