第二百零九节,jQuery EasyUI,Pagination(分页)组件

jQuery EasyUI,Pagination(分页)组件

 

学习要点:

  1.加载方式

  2.属性列表

  3.事件列表

  4.方法列表

 

本节课重点了解 EasyUI 中 Pagination(分页)组件的使用方法,这个组件依赖于 LinkButton(按钮)组件。

 

一.加载方式

class 加载方式

<div id="box" class="easyui-pagination"
     data-options="total:2000,pageSize:10"
     style="background:#efefef;border:1px solid #ccc;">
</div>

JS 加载调用

pagination()将元素执行分页方法

$('#box').pagination({
  total : 2000,
  pageSize : 10,
});

实现一个 panel (面板)结合 pagination(分页)分页例子,需要一个 PHP 分页文件

<div id="content" class="easyui-panel" style="height:200px"
     data-options="href:'user.php?page=1'"></div>
<div class="easyui-pagination" style="border:1px solid #ccc;"
     data-options="
    total : 5,
    pageSize : 1,
    pageNumber : 1,
    pageList : [1],
    onSelectPage : function (pageNumber, pageSize) {
        $('#content').panel('refresh', 'user.php?page='+pageNumber);
    }
"></div>

 

二.属性列表

 

 

total number 总记录数,在分页控件创建时初始的值。默认值1。也就是数据库总条数

$(function () {
    $('#box').pagination({
        total:50,    //总记录数,也就是数据库总条数
        pageSize:5      //每页显示条数,就是每页显示多少条
    });
});

 

pageSize number 每页显示条数。默认值10。就是每页显示多少条

$(function () {
    $('#box').pagination({
        total:50,    //总记录数,也就是数据库总条数
        pageSize:5      //每页显示条数,就是每页显示多少条
    });
});

 

pageNumber number 在分页控件创建的时候显示的页数。默认值为1。

$(function () {
    $('#box').pagination({
        total:50,    //总记录数,也就是数据库总条数
        pageSize:5,      //每页显示条数,就是每页显示多少条
        pageNumber:1    //创建的时候显示的页数。默认值为1。
    });
});

 

pageList array用户可以改变页面大小。pageList 属性定义了页 面 导 航 展 示 的 页 码 。 默 认 值 为[10,20,30,50]。每页显示多少条的选择

$(function () {
    $('#box').pagination({
        total:50,    //总记录数,也就是数据库总条数
        pageSize:10,      //每页显示条数,就是每页显示多少条
        pageNumber:1,    //创建的时候显示的页数。默认值为1。
        pageList:[10,20]   //每页显示多少条的选择
    });
});

 

loading boolean 定义数据是否正在载入。默认值为 false。,有点异常

/**
<div id="content" class="easyui-panel" style="height:200px"
    data-options="href:'user.php?page=1&pagesize=1'"></div>     //传递数据,第一页,第一条
<div id="box">
</div>
 **/

$(function () {
    $('#box').pagination({
        total: 50,    //总记录数,也就是数据库总条数
        pageSize: 10,      //每页显示条数,就是每页显示多少条
        pageNumber: 1,    //创建的时候显示的页数。默认值为1。
        pageList: [10, 20],   //每页显示多少条的选择
        loading:false,          //义数据是否正在载入。默认值为 false。
        onSelectPage: function (pageNumber, pageSize) {     //用户选择一个新页面的时候触发
            // pageNumber:新的页数。
            // pageSize: 每页显示的条数。
            $('#content').panel('refresh', 'user.php?page=' + pageNumber + '&pagesize=' + pageSize);
        }
    });
});

 

buttons array自定义按钮,可用值有:,新增按钮
  1.每个按钮都有2个属性:
    iconCls:显示背景图片的 CSS 类 ID
    handler:当按钮被点击时调用的一个句柄函数。
  2.页面已存在元素的选择器对象(例如:
    buttons:'#btnDiv')。默认值为 null。

/**
<div id="content" class="easyui-panel" style="height:200px"
    data-options="href:'user.php?page=1&pagesize=1'"></div>     //传递数据,第一页,第一条
<div id="box">
</div>
 **/

$(function () {
    $('#box').pagination({
        total: 50,    //总记录数,也就是数据库总条数
        pageSize: 10,      //每页显示条数,就是每页显示多少条
        pageNumber: 1,    //创建的时候显示的页数。默认值为1。
        pageList: [10, 20],   //每页显示多少条的选择
        buttons:[{
            iconCls : 'icon-add',
            handler:function () {
               alert('点击时操作')
            }
        },{
            iconCls : 'icon-edit',
            handler:function () {
               alert('点击时操作')
            }
        }],
        onSelectPage: function (pageNumber, pageSize) {     //用户选择一个新页面的时候触发
            // pageNumber:新的页数。
            // pageSize: 每页显示的条数。
            $('#content').panel('refresh', 'user.php?page=' + pageNumber + '&pagesize=' + pageSize);
        }
    });
});

 

layout array分页控件布局定义。布局选项可以包含一个或多个值:数组方式布局
  1) list:页面显示条数列表。
  2) sep:页面按钮分割线。
  3) first:首页按钮。
  4) prev:上一页按钮。
  5) next:下一页按钮。
  6) last:尾页按钮。
  7) refresh:刷新按钮。
  8) manual:手工输入当前页的输入框。
  9) links:页面数链接。

/**
<div id="content" class="easyui-panel" style="height:200px"
    data-options="href:'user.php?page=1&pagesize=1'"></div>     //传递数据,第一页,第一条
<div id="box">
</div>
 **/

$(function () {
    $('#box').pagination({
        total: 50,    //总记录数,也就是数据库总条数
        pageSize: 10,      //每页显示条数,就是每页显示多少条
        pageNumber: 1,    //创建的时候显示的页数。默认值为1。
        pageList: [10, 20],   //每页显示多少条的选择
        onSelectPage: function (pageNumber, pageSize) {     //用户选择一个新页面的时候触发
            // pageNumber:新的页数。
            // pageSize: 每页显示的条数。
            $('#content').panel('refresh', 'user.php?page=' + pageNumber + '&pagesize=' + pageSize);
        },
        layout:['list','sep','first','prev','links','next','last','manual']
    });
});

 

showPageList boolean 定义是否显示页面导航列表。是否显示可选每页显示多少条

/**
<div id="content" class="easyui-panel" style="height:200px"
    data-options="href:'user.php?page=1&pagesize=1'"></div>     //传递数据,第一页,第一条
<div id="box">
</div>
 **/

$(function () {
    $('#box').pagination({
        total: 50,    //总记录数,也就是数据库总条数
        pageSize: 10,      //每页显示条数,就是每页显示多少条
        pageNumber: 1,    //创建的时候显示的页数。默认值为1。
        pageList: [10, 20],   //每页显示多少条的选择
        onSelectPage: function (pageNumber, pageSize) {     //用户选择一个新页面的时候触发
            // pageNumber:新的页数。
            // pageSize: 每页显示的条数。
            $('#content').panel('refresh', 'user.php?page=' + pageNumber + '&pagesize=' + pageSize);
        },
        showPageList:false      //是否显示可选每页显示多少条
    });
});

 

showRefresh boolean 定义是否显示刷新按钮。

$(function () {
    $('#box').pagination({
        total: 50,    //总记录数,也就是数据库总条数
        pageSize: 10,      //每页显示条数,就是每页显示多少条
        pageNumber: 1,    //创建的时候显示的页数。默认值为1。
        pageList: [10, 20],   //每页显示多少条的选择
        onSelectPage: function (pageNumber, pageSize) {     //用户选择一个新页面的时候触发
            // pageNumber:新的页数。
            // pageSize: 每页显示的条数。
            $('#content').panel('refresh', 'user.php?page=' + pageNumber + '&pagesize=' + pageSize);
        },
        showRefresh:false      //定义是否显示刷新按钮。
    });
});

 

beforePageText string 在输入组件之前显示一个 label 标签。输入页前的文字

/**
<div id="content" class="easyui-panel" style="height:200px"
    data-options="href:'user.php?page=1&pagesize=1'"></div>     //传递数据,第一页,第一条
<div id="box">
</div>
 **/

$(function () {
    $('#box').pagination({
        total: 50,    //总记录数,也就是数据库总条数
        pageSize: 10,      //每页显示条数,就是每页显示多少条
        pageNumber: 1,    //创建的时候显示的页数。默认值为1。
        pageList: [10, 20],   //每页显示多少条的选择
        onSelectPage: function (pageNumber, pageSize) {     //用户选择一个新页面的时候触发
            // pageNumber:新的页数。
            // pageSize: 每页显示的条数。
            $('#content').panel('refresh', 'user.php?page=' + pageNumber + '&pagesize=' + pageSize);
        },
        beforePageText:'目前第',      //输入页前的文字
        afterPageText:'一共{pages}页'  //输入页后的文字
    });
});

 

afterPageText string 在输入组件之后显示一个 label 标签。输入页后的文字

/**
<div id="content" class="easyui-panel" style="height:200px"
    data-options="href:'user.php?page=1&pagesize=1'"></div>     //传递数据,第一页,第一条
<div id="box">
</div>
 **/

$(function () {
    $('#box').pagination({
        total: 50,    //总记录数,也就是数据库总条数
        pageSize: 10,      //每页显示条数,就是每页显示多少条
        pageNumber: 1,    //创建的时候显示的页数。默认值为1。
        pageList: [10, 20],   //每页显示多少条的选择
        onSelectPage: function (pageNumber, pageSize) {     //用户选择一个新页面的时候触发
            // pageNumber:新的页数。
            // pageSize: 每页显示的条数。
            $('#content').panel('refresh', 'user.php?page=' + pageNumber + '&pagesize=' + pageSize);
        },
        beforePageText:'目前第',      //输入页前的文字
        afterPageText:'一共{pages}页'  //输入页后的文字
    });
});

 

displayMsg string 设置显示页面信息

 

/**
<div id="content" class="easyui-panel" style="height:200px"
    data-options="href:'user.php?page=1&pagesize=1'"></div>     //传递数据,第一页,第一条
<div id="box">
</div>
 **/

$(function () {
    $('#box').pagination({
        total: 50,    //总记录数,也就是数据库总条数
        pageSize: 10,      //每页显示条数,就是每页显示多少条
        pageNumber: 1,    //创建的时候显示的页数。默认值为1。
        pageList: [10, 20],   //每页显示多少条的选择
        onSelectPage: function (pageNumber, pageSize) {     //用户选择一个新页面的时候触发
            // pageNumber:新的页数。
            // pageSize: 每页显示的条数。
            $('#content').panel('refresh', 'user.php?page=' + pageNumber + '&pagesize=' + pageSize);
        },
        beforePageText:'目前第',      //输入页前的文字
        afterPageText:'一共{pages}页',  //输入页后的文字
        displayMsg:'显示{from}到{to}个会员,共{total}会员'
    });
});

 

 

 

 

三.事件列表

onSelectPage   pageNumber,pageSize用户选择一个新页面的时候触发。回调函数包含2个参数:
  pageNumber:新的页数。
  pageSize: 每页显示的条数。

/**
<div id="content" class="easyui-panel" style="height:200px"
    data-options="href:'user.php?page=1&pagesize=1'"></div>     //传递数据,第一页,第一条
<div id="box">
</div>
 **/

$(function () {
    $('#box').pagination({
        total: 50,    //总记录数,也就是数据库总条数
        pageSize: 10,      //每页显示条数,就是每页显示多少条
        pageNumber: 1,    //创建的时候显示的页数。默认值为1。
        pageList: [10, 20],   //每页显示多少条的选择
        onSelectPage: function (pageNumber, pageSize) {     //用户选择一个新页面的时候触发
            // pageNumber:新的页数。
            // pageSize: 每页显示的条数。
            $('#content').panel('refresh', 'user.php?page=' + pageNumber + '&pagesize=' + pageSize);
        }
    });
});

 


onBeforeRefresh   pageNumber,pageSize在点击刷新按钮刷新之前触发,返回false 可以取消刷新动作。

  pageNumber:新的页数。
  pageSize: 每页显示的条数。

/**
<div id="content" class="easyui-panel" style="height:200px"
    data-options="href:'user.php?page=1&pagesize=1'"></div>     //传递数据,第一页,第一条
<div id="box">
</div>
 **/

$(function () {
    $('#box').pagination({
        total: 50,    //总记录数,也就是数据库总条数
        pageSize: 10,      //每页显示条数,就是每页显示多少条
        pageNumber: 1,    //创建的时候显示的页数。默认值为1。
        pageList: [10, 20],   //每页显示多少条的选择
        onSelectPage: function (pageNumber, pageSize) {     //用户选择一个新页面的时候触发
            // pageNumber:新的页数。
            // pageSize: 每页显示的条数。
            $('#content').panel('refresh', 'user.php?page=' + pageNumber + '&pagesize=' + pageSize);
        },
        onBeforeRefresh:function (pageNumber,pageSize) {
            alert('在点击刷新按钮刷新之前触发');
        }
    });
});

 

onRefresh   pageNumber,pageSize 刷新之后触发

  pageNumber:新的页数。
  pageSize: 每页显示的条数。

/**
<div id="content" class="easyui-panel" style="height:200px"
    data-options="href:'user.php?page=1&pagesize=1'"></div>     //传递数据,第一页,第一条
<div id="box">
</div>
 **/

$(function () {
    $('#box').pagination({
        total: 50,    //总记录数,也就是数据库总条数
        pageSize: 10,      //每页显示条数,就是每页显示多少条
        pageNumber: 1,    //创建的时候显示的页数。默认值为1。
        pageList: [10, 20],   //每页显示多少条的选择
        onSelectPage: function (pageNumber, pageSize) {     //用户选择一个新页面的时候触发
            // pageNumber:新的页数。
            // pageSize: 每页显示的条数。
            $('#content').panel('refresh', 'user.php?page=' + pageNumber + '&pagesize=' + pageSize);
        },
        onRefresh:function (pageNumber,pageSize) {
            alert('刷新之后触发');
        }
    });
});

 

onChangePageSize   pageSize '改变每页显示条数触发

  pageSize: 每页显示的条数。

 

$(function () {
    $('#box').pagination({
        total: 50,    //总记录数,也就是数据库总条数
        pageSize: 10,      //每页显示条数,就是每页显示多少条
        pageNumber: 1,    //创建的时候显示的页数。默认值为1。
        pageList: [10, 20],   //每页显示多少条的选择
        onSelectPage: function (pageNumber, pageSize) {     //用户选择一个新页面的时候触发
            // pageNumber:新的页数。
            // pageSize: 每页显示的条数。
            $('#content').panel('refresh', 'user.php?page=' + pageNumber + '&pagesize=' + pageSize);
        },
        onChangePageSize:function (pageSize) {
            alert('改变每页显示条数触发');
        }
    });
});

 

 

 

三.方法列表

options none 返回参数对象。

/**
<div id="content" class="easyui-panel" style="height:200px"
    data-options="href:'user.php?page=1&pagesize=1'"></div>     //传递数据,第一页,第一条
<div id="box">
</div>
 **/

$(function () {
    $('#box').pagination({
        total: 50,    //总记录数,也就是数据库总条数
        pageSize: 10,      //每页显示条数,就是每页显示多少条
        pageNumber: 1,    //创建的时候显示的页数。默认值为1。
        pageList: [10, 20],   //每页显示多少条的选择
        onSelectPage: function (pageNumber, pageSize) {     //用户选择一个新页面的时候触发
            // pageNumber:新的页数。
            // pageSize: 每页显示的条数。
            $('#content').panel('refresh', 'user.php?page=' + pageNumber + '&pagesize=' + pageSize);
        },
    });
    alert($('#box').pagination('options'));    //返回参数对象
});

 

loading none 提醒分页控件正在加载中。在加载分页时刷新按钮旋转

/**
<div id="content" class="easyui-panel" style="height:200px"
    data-options="href:'user.php?page=1&pagesize=1'"></div>     //传递数据,第一页,第一条
<div id="box">
</div>
 **/

$(function () {
    $('#box').pagination({
        total: 50,    //总记录数,也就是数据库总条数
        pageSize: 10,      //每页显示条数,就是每页显示多少条
        pageNumber: 1,    //创建的时候显示的页数。默认值为1。
        pageList: [10, 20],   //每页显示多少条的选择
        onSelectPage: function (pageNumber, pageSize) {     //点击分页时触发
            $('#box').pagination('loading');    //在加载分页时刷新按钮旋转
            $('#content').panel('refresh','user.php?page=' + pageNumber + '&pagesize=' + pageSize);  //重新加载数据
            setTimeout(function () {
                $('#box').pagination('loaded'); //分页加载完成时刷新按钮停止
            }, 1000);
        }
    });
});

 

loaded none 提醒分页控件加载完成。分页加载完成时刷新按钮停止

/**
<div id="content" class="easyui-panel" style="height:200px"
    data-options="href:'user.php?page=1&pagesize=1'"></div>     //传递数据,第一页,第一条
<div id="box">
</div>
 **/

$(function () {
    $('#box').pagination({
        total: 50,    //总记录数,也就是数据库总条数
        pageSize: 10,      //每页显示条数,就是每页显示多少条
        pageNumber: 1,    //创建的时候显示的页数。默认值为1。
        pageList: [10, 20],   //每页显示多少条的选择
        onSelectPage: function (pageNumber, pageSize) {     //点击分页时触发
            $('#box').pagination('loading');    //在加载分页时刷新按钮旋转
            $('#content').panel('refresh','user.php?page=' + pageNumber + '&pagesize=' + pageSize);  //重新加载数据
            setTimeout(function () {
                $('#box').pagination('loaded'); //分页加载完成时刷新按钮停止
            }, 1000);
        }
    });
});

 

refresh options 刷新并显示分页栏信息。值为一个对象里面写要改变的信息属性

/**
<div id="content" class="easyui-panel" style="height:200px"
    data-options="href:'user.php?page=1&pagesize=1'"></div>     //传递数据,第一页,第一条
<div id="box">
</div>
 **/

$(function () {
    $('#box').pagination({
        total: 50,    //总记录数,也就是数据库总条数
        pageSize: 10,      //每页显示条数,就是每页显示多少条
        pageNumber: 1,    //创建的时候显示的页数。默认值为1。
        pageList: [10, 20],   //每页显示多少条的选择
        onSelectPage: function (pageNumber, pageSize) {     //点击分页时触发
            $('#box').pagination('loading');    //在加载分页时刷新按钮旋转
            $('#content').panel('refresh', 'user.php?page=' + pageNumber + '&pagesize=' + pageSize);  //重新加载数据
            setTimeout(function () {
                $('#box').pagination('loaded'); //分页加载完成时刷新按钮停止
            }, 1000);
        }
    });
    $(document).click(function () {
        $('#box').pagination('refresh', {
            pageSize: 20,
        });
    });
});

 

select page 选择一个新页面,页面索引从1开始。值为要改变的分页索引

/**
<div id="content" class="easyui-panel" style="height:200px"
    data-options="href:'user.php?page=1&pagesize=1'"></div>     //传递数据,第一页,第一条
<div id="box">
</div>
 **/

$(function () {
    $('#box').pagination({
        total: 50,    //总记录数,也就是数据库总条数
        pageSize: 10,      //每页显示条数,就是每页显示多少条
        pageNumber: 1,    //创建的时候显示的页数。默认值为1。
        pageList: [10, 20],   //每页显示多少条的选择
        onSelectPage: function (pageNumber, pageSize) {     //点击分页时触发
            $('#box').pagination('loading');    //在加载分页时刷新按钮旋转
            $('#content').panel('refresh', 'user.php?page=' + pageNumber + '&pagesize=' + pageSize);  //重新加载数据
            setTimeout(function () {
                $('#box').pagination('loaded'); //分页加载完成时刷新按钮停止
            }, 1000);
        }
    });
    $(document).click(function () {
        $('#box').pagination('select', 2);
    });
});

 

PS:我们可以使用$.fn.pagination.defaults 重写默认值对象。见前面章节

 

posted @ 2017-04-02 23:51  林贵秀  阅读(3133)  评论(0编辑  收藏  举报