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

时间:2022-04-08 20:27:57

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>

二.属性列表

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

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

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

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

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}会员'
});
});

三.事件列表

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

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('改变每页显示条数触发');
}
});
});

三.方法列表

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

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 重写默认值对象。见前面章节