Bootstrap之翻页。
优点:
支持局部刷新; 只要是列表,都可以加载该组件; 支持动态数据绑定; 当然还有绝对的简单实用。
效果图
最后一页时:
最开始一页时:
实现
①、翻页组件的布局
<c:if test="${urlParas == null}">
- pageNum:第几页
- rel:要刷新哪一个div的id
- urlParas:其他参数
<%@ include file="/components/common/paginate.jsp"%>
- currentPage:页数
- totalPage:总页数
- rel:局部刷新div的id
- urlParas:其他参数,暂无
③、翻页事件
var pageNum = $this.attr("pageNum");
// 准备翻页事件
if (pageNum && pageNum.isPositiveInteger()) {
yunmPageBreak({
rel : $this.attr("rel"),data : {
pageNum : pageNum,urlParas : $this.attr("urlParas")
}
});
}
event.preventDefault();
return false;
});
});
});
- 页面加载完成后,获取翻页的a标签,为其加载翻页功能。
- 设置pageNum,这个肯定必须传递
- 获取局部刷新div,这个地方以后有待改善,通过id获取好像不太好。
- 传递额外参数urlParas
- 最后阻止a标签既有事件。
var $panel = $("#" + op.rel);
if (op.rel) {
var dataId = $panel.attr("data");
var url = $panel.attr("url");
// 设置div上的其他参数
if (dataId) {
if (dataId.indexOf(",") != -1) {
$.each(dataId.split(","),function(index,id) {
if ($("#" + id) && $("#" + id).val()) {
url = addMoreParamForUrl(url,id,$("#" + id).val());
}
});
} else {
if ($("#" + dataId) && $("#" + dataId).val()) {
url = addMoreParamForUrl(url,dataId,$("#" + dataId).val());
}
}
}
// 局部刷新
$panel.ajaxUrl({
type : "POST",url : url,data : op.data,callback : function(response) {
if ($.isFunction(op.callback))
op.callback(response);
}
});
}
}
- 这串代码也很好懂,获取ajax请求的url
- 获取ajax请求的参数data
- 至于ajaxUrl方法,请参照我的,我觉得这样局部刷新还是很实用的。
到这,前台的内容都OK了,接下来需要什么呢?自然是jfinal端的数据获取。
Page
return deals;
}