jquery ajax分页插件的简单实现


Posted in Javascript onJanuary 27, 2016

说到基于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文件)

jquery ajax分页插件的简单实现

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

jquery ajax分页插件的简单实现

jquery ajax分页插件的简单实现

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

这里只有代码的大体结构及呈现的效果,大家不妨自己先动手实现一下。

Javascript 相关文章推荐
简洁短小的 JavaScript IE 浏览器判定代码
Mar 21 Javascript
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
Mar 11 Javascript
超级好用的jQuery圆角插件 Corner速成
Aug 31 Javascript
Javascript模块化编程详解
Dec 01 Javascript
node.js中的fs.linkSync方法使用说明
Dec 15 Javascript
jQuery中andSelf()方法用法实例
Jan 08 Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
May 30 Javascript
又一枚精彩的弹幕效果jQuery实现
Jul 25 Javascript
BootStrap Typeahead自动补全插件实例代码
Aug 10 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
Dec 02 Javascript
详解基于Vue cli生成的Vue项目的webpack4升级
Jun 19 Javascript
解决微信授权成功后点击按返回键出现空白页和报错的问题
Jun 08 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
js实现网页图片延时加载 提升网页打开速度
Jan 26 #Javascript
详解javascript new的运行机制
Jan 26 #Javascript
You might like
介绍几个array库的新函数 php
2006/12/29 PHP
在Windows系统上安装PHP运行环境文字教程
2010/07/19 PHP
php验证码生成代码
2015/11/11 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
2016/10/08 PHP
PHP+JQUERY操作JSON实例
2017/03/23 PHP
Yii框架日志操作图文与实例详解
2019/09/09 PHP
javascript[js]获取url参数的代码
2007/10/17 Javascript
jQuery Tools tab(幻灯片)
2012/07/14 Javascript
javascript和HTML5利用canvas构建猜牌游戏实现算法
2013/07/17 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
js返回上一页并刷新的多种实现方法
2014/02/26 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
2016/03/16 Javascript
jquery的checkbox,radio,select等方法小结
2016/08/30 Javascript
Vue.js动态添加、删除选题的实例代码
2016/09/30 Javascript
bootstrap-table组合表头的实现方法
2017/09/07 Javascript
微信小程序使用modal组件弹出对话框功能示例
2017/11/29 Javascript
vue如何将v-for中的表格导出来
2018/05/07 Javascript
JavaScript实现tab栏切换效果
2020/03/16 Javascript
python调用fortran模块
2016/04/08 Python
Python实现的快速排序算法详解
2017/08/01 Python
python画出三角形外接圆和内切圆的方法
2018/01/25 Python
pycharm实现在虚拟环境中引入别人的项目
2020/03/09 Python
在PyTorch中使用标签平滑正则化的问题
2020/04/03 Python
PIP和conda 更换国内安装源的方法步骤
2020/09/21 Python
微软中国官方旗舰店:销售Surface、Xbox One、笔记本电脑、Office
2018/07/23 全球购物
Public Desire美国/加拿大:全球性的在线鞋类品牌
2018/12/17 全球购物
什么是GWT的Entry Point
2013/08/16 面试题
法律专业个人实习自我鉴定
2013/09/23 职场文书
岗位职责范本
2013/11/23 职场文书
给校长的建议书600字
2014/05/15 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
企业党支部工作总结2015
2015/05/21 职场文书
植物园观后感
2015/06/11 职场文书
浅谈Python响应式类库RxPy
2021/06/14 Python
详细介绍Next.js脚手架完整搭建封装
2022/04/26 Javascript