Skip to content

Pagination(分页)

使用$.fn.iPagination.defaults重写默认值对象

该分页控件允许用户导航页面的数据。它支持页面导航和页面长度选择的选项设置。用户可以在分页控件上添加自定义按钮,以增强其功能。

依赖关系

用法

使用标签创建分页控件。

html
<div id="pp" data-toggle="topjui-pagination" data-options="total:2000,pageSize:10" style="background:#efefef;border:1px solid #ccc;"></div>

使用Javascript创建分页。

html
<div id="rr" style="width:100px;height:100px;border:1px solid #ccc;"></div>
javascript
$('#pp').iPagination({
  total:2000,
  pageSize:10
});

Ajax分页示例

让我们使用面板和分页插件来创建一个ajax分页。当用户选择一个新页面的时候,面板将显示指定页面的内容。

html
<div id="content" data-toggle="topjui-panel" style="height:200px" data-options="href:'show_content.php?page=1'"></div>
<div data-toggle="topjui-pagination" style="border:1px solid #ccc;" data-options="
  total: 2000, 
  pageSize: 10, 
  onSelectPage: function(pageNumber, pageSize){ 
    $('#content').panel('refresh', 'show_content.php?page='+pageNumber); 
  }
"></div>

面板上默认显示第一页的内容。当用户导航页面的时候,'onSelectPage'事件将被触发,将会根据一个新的URL参数获取对应页面的新内容,并通过'refresh'方法将内容刷新到内容面板上。

属性

属性名属性值类型描述默认值
totalnumber总记录数,在分页控件创建时初始的值。1
pageSizenumber页面大小。10
pageNumbernumber在分页控件创建的时候显示的页数。1
pageListarray用户可以改变页面大小。pageList属性定义了页面导航展示的页码。见下方代码示例。[10,20,30,50]
loadingboolean定义数据是否正在载入。false

属性代码示例

pageList属性示例:

javascript
$('#pp').iPagination({ pageList: [10,20,50,100] });

| buttons | array | 自定义按钮,可用值有:①. 每个按钮都有2个属性: iconCls:显示背景图片的CSS类ID handler:当按钮被点击时调用的一个句柄函数。②. 页面已存在元素的选择器对象(例如:buttons:'#btnDiv') | null |
| layout | array | 分页控件布局定义。布局选项可以包含一个或多个值:1) list:页面显示条数列表。2) sep:页面按钮分割线。3) first:首页按钮。4) prev:上一页按钮。5) next:下一页按钮。6) last:尾页按钮。7) refresh:刷新按钮。8) manual:手工输入当前页的输入框。9) links:页面数链接。示例代码:$('#pp').iPagination({ layout:['first','links','last'] }); | - |
| links | number | 该链接数仅在"links"项包含在"layout"中的时候有效。 | 10 |
| showPageList | boolean | 定义是否显示页面导航列表。 | true |
| showRefresh | boolean | 定义是否显示刷新按钮。 | true |
| showPageInfo | boolean | 定义是否显示页面信息。 | true |
| beforePageText | string | 在输入组件之前显示一个label标签。 | Page |
| afterPageText | string | 在输入组件之后显示一个label标签。 | of {pages} |
| displayMsg | string | 显示页面信息。 | Displaying {from} to {to} of {total}items |

自定义按钮示例

自定义按钮可以通过标签创建:

html
<div data-toggle="topjui-pagination" style="border:1px solid #ccc" data-options="
  total: 114, 
  buttons: [
    { iconCls:'icon-add', handler:function(){alert('add')} },
    '-',
    { iconCls:'icon-save', handler:function(){alert('save')} }
  ]
"></div>

自定义按钮也可以通过Javascript创建:

javascript
$('#pp').iPagination({
  total: 114,
  buttons: [
    { iconCls:'icon-add', handler:function(){alert('add')} },
    '-',
    { iconCls:'icon-save', handler:function(){alert('save')} }
  ]
});

事件

事件名事件参数描述
onSelectPagepageNumber, pageSize用户选择一个新页面的时候触发。回调函数包含2个参数:pageNumber:新的页数。pageSize: 页面大小(每页显示的条数)。见下方代码示例。
onBeforeRefreshpageNumber, pageSize在点击刷新按钮刷新之前触发,返回false可以取消刷新动作。

事件代码示例

onSelectPage事件示例:

javascript
$('#pp').iPagination({ onSelectPage:function(pageNumber, pageSize){ $(this).iPagination('loading'); alert('pageNumber:'+pageNumber+',pageSize:'+pageSize); $(this).iPagination('loaded'); } });

| onRefresh | pageNumber, pageSize | 刷新之后触发。 |
| onChangePageSize | pageSize | 在页面更改页面大小的时候触发。 |

方法

方法名方法参数描述
optionsnone返回参数对象。
loadingnone提醒分页控件正在加载中。
loadednone提醒分页控件加载完成。
refreshoptions刷新并显示分页栏信息。见下方代码示例。
selectpage选择一个新页面,页面索引从1开始。见下方代码示例。

方法代码示例

refresh方法示例:

javascript
$('#pp').iPagination('refresh');
$('#pp').iPagination('refresh',{ total: 114, pageNumber: 6 });

select方法示例:

javascript
$('#pp').iPagination('select');
$('#pp').iPagination('select', 2);

基于最新稳定版jQuery EasyUI构建的前端框架