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 相关文章推荐
JS来动态的修改url实现对url的增删查改
Sep 05 Javascript
实现placeholder效果的方案汇总
Jun 11 Javascript
javascript显示中文日期的方法
Jun 18 Javascript
学习JavaScript设计模式(封装)
Nov 26 Javascript
如何解决easyui自定义标签 datagrid edit combobox 手动输入保存不上
Dec 26 Javascript
JavaScript中省略元素对数组长度的影响
Oct 26 Javascript
jQuery Validate插件自定义验证规则的方法
Dec 27 Javascript
javascript设计模式之模块模式学习笔记
Feb 15 Javascript
创建简单的node服务器实例(分享)
Jun 23 Javascript
JavaScript实现页面中录音功能的方法
Jun 04 Javascript
微信小程序事件流原理解析
Nov 27 Javascript
Java Varargs 可变参数用法详解
Jan 28 Javascript
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
PHP函数getenv简介和使用实例
2014/05/12 PHP
PHP callback函数使用方法和注意事项
2015/01/23 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
2019/07/18 PHP
javascript之Partial Application学习
2013/01/10 Javascript
动态加载js、css等文件跨iframe实现
2014/02/24 Javascript
js四舍五入数学函数round使用实例
2014/05/09 Javascript
jQuery获取节点和子节点文本的方法
2014/07/22 Javascript
js实现九宫格图片半透明渐显特效的方法
2015/02/16 Javascript
javascript 对象数组根据对象object key的值排序
2015/03/09 Javascript
详解Bootstrap插件
2016/04/25 Javascript
Vue.js系列之项目结构说明(2)
2017/01/03 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
vue接入腾讯防水墙代码
2019/05/07 Javascript
vue+高德地图写地图选址组件的方法
2019/05/18 Javascript
Vue中的组件及路由使用实例代码详解
2019/05/22 Javascript
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
Vue使用JSEncrypt实现rsa加密及挂载方法
2020/02/07 Javascript
[02:43]中国五虎出征TI3视频
2013/08/02 DOTA
初步介绍Python中的pydoc模块和distutils模块
2015/04/13 Python
浅谈Python中数据解析
2015/05/05 Python
python实现人脸识别经典算法(一) 特征脸法
2018/03/13 Python
在Python中获取两数相除的商和余数方法
2018/11/10 Python
Django框架model模型对象验证实现方法分析
2019/10/02 Python
python函数map()和partial()的知识点总结
2020/05/26 Python
python opencv pytesseract 验证码识别的实现
2020/08/28 Python
微信小程序canvas实现水平、垂直居中效果
2020/02/05 HTML / CSS
阿迪达斯意大利在线商店:adidas意大利
2016/09/19 全球购物
Marc Jacobs官方网站:美国奢侈品牌
2017/08/29 全球购物
考博自荐信
2013/10/25 职场文书
文明餐桌活动方案
2014/02/11 职场文书
大学生暑期实践感言
2014/02/26 职场文书
2016大一新生军训心得体会
2016/01/11 职场文书
2019最新校园运动会广播稿!
2019/06/28 职场文书
导游词之绍兴柯岩古镇
2020/01/09 职场文书
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL
vue实现简易音乐播放器
2022/08/14 Vue.js