使用MyPaging插件实现table分页

简介: 使用MyPaging插件实现table分页

1.引入链接

代码如下(示例):

<link rel="stylesheet" type="text/css" href="./MyPaging.css">//引入MyPaging.css
<script src="https://www.jq22.com/jquery/jquery-1.10.2.js"></script>//引入jquery
<script src="./MyPaging.js"></script>//引入MyPaging.js

2.HTML

代码如下(示例):

<div class="main">
     <table border>
         <thead>
               <tr>
                    <th>id</th>
                    <th>姓名</th>
                    <th>年龄</th>  
                </tr>
         </thead>
          <tbody class="tbody">
                <tr>
                    <td>1</td>
                    <td>会计师看到</td>
                    <td>50</td>
                </tr>
           </tbody>
       </table>
        <div class="box2" id="box2"></div>
        <br>
        <button class="jumpBtn">跳到第一页</button>
        <br><br>
        <input type="text" id="searchIpt">
        <button id="searchBtn">搜索</button>
</div>

3.模拟后台接口数据

代码如下(示例):

function getData(params) {
            var data = [
               {id: 1, name: '小李', age: 10},
                {id: 2, name: '校长', age: 23},
                {id: 3, name: '小王', age: 12},
                {id: 4, name: '李勇', age: 23},
                {id: 5, name: '红旗', age: 44},
                {id: 6, name: '跳转', age: 12},
                {id: 7, name: '我骄傲', age: 22},
                {id: 8, name: '阿萨的', age: 43},
                {id: 9, name: '绕太阳', age: 15},
                {id: 10, name: '山地车', age: 18},
                {id: 11, name: '哈哈哈', age: 32},
                {id: 12, name: '求气球', age: 51},
                {id: 13, name: '哦怕', age: 23},
                {id: 14, name: '撒旦', age: 28},
                {id: 15, name: '农村', age: 36},
                {id: 16, name: '特否', age: 46},
                {id: 17, name: '预先', age: 31},
                {id: 18, name: '才不会', age: 31},
                {id: 19, name: '成交价', age: 31},
                {id: 20, name: '阿松', age: 18},
                {id: 21, name: '无法', age: 32},
                {id: 22, name: '英语', age: 51},
                {id: 23, name: '因为往', age: 23},
                {id: 24, name: '伟大', age: 28},
            ]
            var res = [];
            for (var i = 0; i < data.length; i++) {
                if (data[i].name.indexOf(params.search) != -1) {
                    res.push(data[i]);
                }
            }
            return {
                total: res.length,
                list: res.splice( (params.current - 1) * params.size, params.size )
            }
        }

4.js代码

代码如下(示例):

var oPage = {
            search: '', // 搜索条件
            current: 1, // 当前页
            size: 4,    // 每页显示多少条
            paging: null, // 分页对象
            init: function () {
                this.setPaging(); // 初始化分页对象并调用loadData方法
                this.initEvent(); // 绑定事件
            },    
            // 初始化事件
            initEvent: function () {
                var _this = this;
                // 调到第一页点击
                $('.jumpBtn').on('click', function () {
                    _this.paging.setCurrent(1);
                })
                // 搜索按钮点击
                $('#searchBtn').on('click', function () {
                    _this.search = $('#searchIpt').val();
                    // 设置当前页,会触发jump方法
                    _this.paging.setCurrent(1);
                })
            },
            // 发送ajax获取数据
            loadData: function () {
                var _this = this;
                var params = {
                    search: this.search,
                    current: this.current,
                    size: this.size
                }
                // 模拟ajax获取数据
                setTimeout(function () {
                    var res = getData(params);
                    // 设置tbody的html
                    _this.setTbody(res.list);
                    // 必须调用 设置分页对象总页数
                    _this.paging.setTotal(res.total);
                }, 100);
            },
            // 创建分页对象
            setPaging: function () {
                var _this = this;
                this.paging = new MyPaging('#box2', {
                    size: this.size,
                    sizes: [1, 2, 4, 10, 20, 100],    // 选择每页条数
                    total: 0,
                    current: this.current,
                    prevHtml: '上一页',
                    nextHtml: '下一页',
                    layout: 'total, totalPage, sizes, prev, pager, next, jumper',
                    jump: function () {
                        _this.current = this.current; // 设置当前页
                        _this.size = this.size; // 设置当前每页多少条
                        // 点击页数按钮都会调用
                        _this.loadData();
                    }
                });
            },
            // 设置tbody的html
            setTbody: function (arr) {
                var html = '';
                for (var i = 0; i < arr.length; i++) {
                    var item = arr[i];
                    html += '<tr><td>' + item.id + '</td><td>' + item.name + '</td><td>' + item.age + '</td></tr>';
                }
                $('.tbody').html(html);
            }
        }
相关文章
|
JavaScript
Pagination 分页如何使用
Pagination 分页如何使用
147 0
|
开发框架 算法 .NET
C#/Entity Frame Core使用Linq进行分页.skip().Take()的使用方法
C#/Entity Frame Core使用Linq进行分页.skip().Take()的使用方法
293 0
C#/Entity Frame Core使用Linq进行分页.skip().Take()的使用方法
SAP Spartacus的pagination$ -默认的分页设置10
SAP Spartacus的pagination$ -默认的分页设置10
117 0
SAP Spartacus的pagination$ -默认的分页设置10
|
算法
QuickPager分页控件,最简单的设置代码
代码 ///     /// postback 的最简单的分页设置    ///     public partial class PostSimpleness : BaseWebPage    {        #region 初始化        protected override void OnInit(EventArgs e)        {            base.OnInit(e);            //数据访问函数库的实例,使用基类里定义的。
831 0
|
SQL 算法 数据库
分页解决方案 之 分页算法——Pager_SQL的详细使用方法和注意事项
      上一次有点匆忙,如何使用介绍的不是太清楚,而且这两天有改掉了几个bug,所以这次呢详细说一下,然后更新一下代码和demo。       源代码和demo的下载:http://www.cnblogs.com/jyk/archive/2008/07/29/1255891.html                      JYK.Controls.Pager.QuickPagerSQL PagerSQL = new QuickPagerSQL();            //设置保存属性的位置。
940 0
|
前端开发 数据库
QuickPager分页组件,v2.0.4.6发布
  以前QuickPager分页组件的样式都不怎么好看,但是突然有一天看到了《24款超实用的Web 2.0风格翻页代码》,感谢wayshan 提供了这么多的样式。     依据提供的样式,修改了一下QuickPager的源码,以便于更方便的套用css。
742 0
|
SQL 算法 数据库
分页解决方案 —— GridView + QuickPager + QuickPager_SQL + DataAccessLibrary + 数据库
    这里要说的不仅仅是一个分页控件,而是一套解决方案,包括如何显示数据、显示分页导航,如何得到分页用的sql语句(等效于存储过程),如何提取数据,如何绑定控件,如何响应事件,添加、修改、删除数据后如何更新,如何查询数据等等。
1039 0
|
Web App开发
分页解决方案 之 QuickPager的使用方法(目录)
      QuickPager asp.net 2.0 分页控件,基本告一段落。现在把使用方法、源码、Demo公布一下,感兴趣的可以下载看看。       一、从提取数据的角度开看,可以分为“自动”和“自定义”两种。
1083 0
|
索引 .NET 开发框架