基于jQuery、Bootstrap2、3进行开发,支持页面跳转、异步页面、异步数据等多模式的独立分页插件
jQuery插件支持Bootstrap2、3的UI环境带有页面跳转、异步页面(服务端返回页面内容模式)、异步数据(服务端返回JSON数据)三种分页模式,可对业务场景进行灵活处理快速使用皮肤浏览器支持IE8+,chrome,firefox插件使用入门、API文档、使用实例
资源导入 在网页上引用css样式、js脚本等文件
<!-- 插件使用的样式表文件,分bootstrap2和bootstrap3两个环境使用,根据使用环境引用 --> <!-- bootstrap2环境使用 --> <link rel="stylesheet" href="b.page.css" type="text/css"> <!-- bootstrap3环境使用 --> <link rel="stylesheet" href="b.page.bootstrap3.css" type="text/css"> <!-- 插件核心脚本 --> <script type="text/javascript" src="b.page.js" >< /script>
HTML代码
<!-- 页面跳转模式为例 -->
<!-- 前提条件为服务端已将分页数据设置到request中 -->
<!-- 设置表格,内容区域中使用服务端的el表达式循环生成表格内容 -->
<table class="bTable table table-striped table-bordered table-hover table-condensed">
<thead>
<tr>
<th class="selectColumn" >选择</th>
<th>登录名</th>
<th>姓名</th>
<th>性别</th>
<th>出生年月</th>
<th>电话</th>
<th>电子邮箱</th>
<th>状态</th>
<th>更新时间</th>
</tr>
</thead>
<tbody>
<c:if test="${userList.list != null}">
<c:forEach var="d" items="${userList.list}">
<tr class="<c:if test="${d.status == 0}">error</c:if>" id="${d.id}">
<td class="selectColumn"><input type="radio" name="userSelect" value="${d.id}" /></td>
<td>${d.login_name}</td>
<td>${d.name}</td>
<td>${d.sexName}</td>
<td><fmt:formatDate pattern="yyyy-MM-dd" value="${d.birthday}" type="date" /></td>
<td>${d.phone1}</td>
<td>${d.email}</td>
<td>${d.statusName}</td>
<td><fmt:formatDate pattern="yyyy-MM-dd" value="${d.update_time}" type="date" /></td>
</tr>
</c:forEach>
</c:if>
</tbody>
</table>
<!-- 必须设置以下分页信息设置,否则插件将无法读取分页数据-->
<!-- 隐藏内容设置后,在插件初始化时进行读取-->
<c:if test="${userList != null}">
<input type="hidden" id="pageNumber" value="${userList.pageNumber}">
<input type="hidden" id="pageSize" value="${userList.pageSize}">
<input type="hidden" id="totalPage" value="${userList.totalPage}">
<input type="hidden" id="totalRow" value="${userList.totalRow}">
</c:if>Javascript初始化插件代码
//初始化插件
$('#page1').bPage({
//分页目标链接
url : $webroot + 'demo/manage/page',
//读取页面设置的分页参数
totalPage : $('#totalPage').val(),
totalRow : $('#totalRow').val(),
pageSize : $('#pageSize').val(),
pageNumber : $('#pageNumber').val(),
//自定义传递到服务端的参数
params : function(){
return {
userName : 'zhangsan',
age : 42
};
}
});
作者大大,我想刷新表格,刷新的时候可以携带业务参数和分页信息到后台,不过,携带的分页信息总是缺少pageNumber这个参数,这样后台没办法判断前端需要哪一页的数据。
```
$('#category').bPage({
url : "{:url('category/lst')}",
asyncLoad : true,
render : function(data){ //数据自定义填充
var tb = $('#dataGridTableJson tbody');
$(tb).empty();
if(data && data.list && data.list.length > 0){
$.each(data.list,function(i,row){
var tr = $('<tr>');
$(tr).append('<td></td>');
$(tr).append('<td>'+row.name+'</td>');
$(tr).append('<td>'+row.sort+'</td>');
$(tr).append('<td>'+row.is_show+'</td>');
$(tb).append(tr);
});
}
},
params : function(){
return {
userName : 'zhangsan',
age : 42
};
}
});
$('#category').bPageRefresh(); //这些我想刷新表格状态
```
回复
第三种模式。 请问有方法用于刷新reload数据吗
求助大佬:
只有一个页面,关键代码如下:
<div class="form-group"> <label for="dt" class="col-md-1 control-label">时间</label> <div class="dt_container" style="width:174px;"> <input id="dt" class="form_datetime dt_input" type="text" data-link-field="dt_input1"> <div class="dt_clear_btn" title="清除内容">×</div> <input type="hidden" class="dt_hidden" id="dt_input1" name="dtinput1"> </div> <span>---</span> <div class="dt_container" style="width:174px;"> <input class="form_datetime dt_input" type="text" data-link-field="dt_input2"> <div class="dt_clear_btn" title="清除内容">×</div> <input type="hidden" class="dt_hidden" id="dt_input2" name="dtinput2"> </div> </div> <input id="button" type="button" value="查询">
请问如何实现,点击“查询”按钮,将时间参数传递到后台,并根据返回的json字符串中对应的分页栏参数,生成分页栏,后台分页功能处理的代码已完成。
回复