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 相关文章推荐
拖动一个HTML元素
Dec 22 Javascript
跨域表单提交状态的变相判断代码
Nov 12 Javascript
利用jQuery接受和处理xml数据的代码(.net)
Mar 28 Javascript
基于jquery的大众点评,分类导航实现代码
Aug 23 Javascript
jQuery ajax serialize()方法的使用以及常见问题解决
Jan 27 Javascript
基于jQuery实现仿淘宝套餐选择插件
Mar 04 Javascript
JavaScript中Cookies的相关使用教程
Jun 04 Javascript
jquery实现select下拉框美化特效代码分享
Aug 18 Javascript
教你一步步用jQyery实现轮播器
Dec 18 Javascript
微信小程序 template模板详解及实例
Feb 21 Javascript
angular实现页面打印局部功能的思考与方法
Apr 13 Javascript
javascript 使用sleep函数的常见方法详解
Apr 26 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中socket通信机制实例详解
2015/01/03 PHP
PHP访问Google Search API的方法
2015/03/05 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
2018/04/20 PHP
PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
2018/12/21 PHP
关于laravel 日志写入失败问题汇总
2019/10/17 PHP
jquery mobile changepage的三种传参方法介绍
2013/09/13 Javascript
使用JavaScript链式编程实现模拟Jquery函数
2014/12/21 Javascript
JavaScript function函数种类详解
2016/02/22 Javascript
node.js学习之断言assert的使用示例
2017/09/28 Javascript
nodejs中用npm初始化来创建package.json的实例讲解
2018/10/10 NodeJs
关于微信小程序map组件z-index的层级问题分析
2019/07/09 Javascript
解决Echarts 显示隐藏后宽度高度变小的问题
2020/07/19 Javascript
Python列表(list)、字典(dict)、字符串(string)基本操作小结
2014/11/28 Python
Python中的MongoDB基本操作:连接、查询实例
2015/02/13 Python
python生成随机mac地址的方法
2015/03/16 Python
pymongo实现控制mongodb中数字字段做加法的方法
2015/03/26 Python
python 创建弹出式菜单的实现代码
2017/07/11 Python
python3 判断列表是一个空列表的方法
2018/05/04 Python
基于python历史天气采集的分析
2019/02/14 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
python绘制直方图和密度图的实例
2019/07/08 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
2019/08/07 Python
python 定时器每天就执行一次的实现代码
2019/08/14 Python
python+selenium+Chrome options参数的使用
2020/03/18 Python
浅谈python锁与死锁问题
2020/08/14 Python
python语言实现贪吃蛇游戏
2020/11/13 Python
如何使用python-opencv批量生成带噪点噪线的数字验证码
2020/12/21 Python
WoolOvers爱尔兰:羊绒、羊毛和棉针织品
2017/01/04 全球购物
雷朋巴西官方商店:Ray-Ban Brasil
2020/07/21 全球购物
以下的初始化有什么区别
2013/12/16 面试题
农民入党思想汇报
2014/01/03 职场文书
关于晚自习早退的检讨书
2014/09/13 职场文书
在Django中使用MQTT的方法
2021/05/10 Python
python之基数排序的实现
2021/07/26 Python
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
2022/04/09 MySQL
Linux磁盘管理方法介绍
2022/06/01 Servers