common.Pager = function () {
this.loadList = function () {
alert("改方法还没有初始化");
};
this.search = function (searchParam) {
alert("搜索方法还没有初始化");
};
this.init = function (data) {
data = data || {};
if (data.loadList) {
this.loadList = data.loadList;
}
var pageParam = common.getPageParam();
var currentPage = data.page || 1;
data.totalPage = data.totalPage || $("#totalPage").text() || 1;
$("#currentPage").text(currentPage);
$("#totalPage").text(data.totalPage);
this.search = function (searchParam) {
var pageParam = common.getPageParam();
//覆盖或者添加相关参数
for (var key in searchParam) {
pageParam[key] = searchParam[key];
}
common.setPageParam(pageParam);
initTable();
// 修改并记录下当前的所有分页参数
this.loadList(pageParam);
};
if (common.getAttr("page-event-bind")) {
common.info("分页点击事件已经初始化过了");
} else {
$("#prev").bind("click", {
"pager": this
}, this.doPrev);
$("#next").bind("click", {
"pager": this
}, this.doNext);
$("#jump").bind("change", function () {
var jumPage = parseInt($("#jump").val(), 10);
var queryParam = common.getUrlQueryParams();
var totalPage = parseInt($("#totalPage").text(), 10);
var currentPage = queryParam.page || 1;
if (isNaN(jumPage) || jumPage <= 0 || jumPage > totalPage) {
$("#jump").val("");
}
});
$("#go").bind("click", {
"pager": this
}, this.doGo);
common.setAttr("page-event-bind", "yes");
}
};
this.doNext = function (params) {
var pager = params.data.pager;
var pageParam = common.getPageParam();
var currentPage = parseInt(pageParam.page || 1, 10);
var totalPage = parseInt($("#totalPage").text(), 10);
if (currentPage <= totalPage) {
pageParam.page = currentPage + 1;
initTable();
common.setPageParam(pageParam);
$("#currentPage").text(pageParam.page);
// 修改并记录下当前的所有分页参数
pager.loadList(pageParam);
}
return false;
};
this.doPrev = function (params) {
var pager = params.data.pager;
var pageParam = common.getPageParam();
var currentPage = parseInt(pageParam.page || 1, 10);
if (currentPage > 1) {
pageParam.page = currentPage - 1;
$("#currentPage").text(pageParam.page);
initTable();
common.setPageParam(pageParam);
// 修改并记录下当前的所有分页参数
pager.loadList(pageParam);
}
};
this.doGo = function (params) {
var jumPage = parseInt($("#jump").val(), 10);
var pager = params.data.pager;
var pageParam = common.getPageParam();
var currentPage = parseInt(pageParam.page || 1, 10);
var totalPage = parseInt($("#totalPage").text(), 10);
if (isNaN(jumPage) || jumPage <= 0 || jumPage > totalPage) {
$("#jump").val("");
} else {
pageParam.page = jumPage;
common.setPageParam(pageParam);
initTable();
common.setPageParam(pageParam);
// 修改并记录下当前的所有分页参数
pager.loadList(pageParam);
}
};
function initTable() {
var trHtml = $(".table-tr").first().prop("outerHTML");
$(".tr-content").html(trHtml);
}
};
common.setPageParam = function (pageParam) {
pageParam = pageParam || {};
$("#current-page").attr("pageParam", common.stringify(pageParam));
};
common.getPageParam = function () {
var pageParamStr = $("#current-page").attr("pageParam") || "{}";
return common.parse(pageParamStr);
};