// 分页处理
datatable.pagelink($("#datalist tfoot"), rs.pagination, 12);
//点击分页功能
$(document).off("click", "li.page-link-item").on("click", "li.page-link-item", function() {
//click
if (datatable.clickOther(_data, $(this))) {
//loading...
datatable.loading($thisTbody);
findlist();
}
});
//跳转页面
$(document).off("blur", ".gp-input").on("blur", ".gp-input", function(e) {
//input
if (datatable.inputPage(_data, $(this))) {
//loading...
datatable.loading($thisTbody);
findlist();
}
});
//改变显示数量
$(document).off("change", ".pagesize").on('change', '.pagesize', function() {
//change pageSize
if (datatable.changePageSize(_data, $(this))) {
//loading...
datatable.loading($thisTbody);
findlist();
}
});
//分页显示
exports.pagelink = function(elobj, config, columnsNumber, pageSizeHide) {
if (config && config.total_rows > 0) {
oldPage = config.pageNumber;
oldPageSize = config.pageSize;
//分页wrap
var pageStr = "<tr>";
//左侧分页
pageStr += '<td colspan="' + Math.round(columnsNumber / 2) + '" class="pagination-left form-inline">';
pageStr += '<div class="goto-page form-group">' + '跳转至第<input type="text" name="" id="" class="form-control gp-input" value="' + (config.pageNumber + 1) + '">页' + "</div>" + '<div class="change-size form-group">';
pageStr += pageSizeHide ? "" : '<select name="" id="" class="pagesize form-control">' + '<option value="10" ' + (config.pageSize == 10 ? "selected" : "") + " >10</option>" + '<option value="20" ' + (config.pageSize == 20 ? "selected" : "") + ">20</option>" + '<option value="30" ' + (config.pageSize == 30 ? "selected" : "") + ">30</option>" + "</select>";
pageStr += "</div>" + '<div class="table-info form-group">此页显示' + config.pageSize + "条 共<span class='sum-pages'>" + config.total_rows + "</span>条</div></td>";
//右侧分页
pageStr += '<td colspan="' + Math.round(columnsNumber / 2) + '" class="pagination-right"><ul class="page-link-list">';
//加上一页
pageStr += '<li class="page-link-item">上一页</li>';
var pagecount = parseInt(config.total_rows / config.pageSize) + (config.total_rows % config.pageSize > 0 ? 1 : 0); //字符串拼接分页
//判断页码
if (pagecount < 5) { //小于5页
for (var i = 0; i < pagecount; i++) {
pageStr += '<li class="page-link-item ' + (i == 0 ? "first-page" : i == pagecount - 1 ? "last-page" : "") + " " + (config.pageNumber === i ? "curr" : "") + '">' + (i + 1) + "</li>";
}
} else { //大于5页
//判断当前页码
if (config.pageNumber < 2) {
//当前页在前3位中
for (var i = 0; i < 3; i++) {
pageStr += '<li class="page-link-item ' + (i == 0 ? 'first-page' : '') + ' ' + (config.pageNumber === i ? "curr" : "") + '">' + (i + 1) + "</li>";
}
pageStr += '<li class="ellipsis">...</li>'; //省略号
pageStr += '<li class="page-link-item last-page ' + (config.pageNumber === pagecount ? "curr" : "") + '">' + pagecount + "</li>";
} else if (config.pageNumber > pagecount - 3) {
//当前页在后3位中
pageStr += '<li class="page-link-item first-page ' + (config.pageNumber === 1 ? "curr" : "") + '">' + 1 + "</li>"; //第一页
pageStr += '<li class="ellipsis">...</li>'; //省略号
for (var i = pagecount - 3; i < pagecount; i++) {
pageStr += '<li class="page-link-item ' + (i == pagecount - 1 ? 'last-page' : '') + ' ' + (config.pageNumber === i ? "curr" : "") + '">' + (i + 1) + "</li>";
}
} else {
//当前页在中间
pageStr += '<li class="page-link-item first-page ' + (config.pageNumber === 1 ? "curr" : "") + '">' + 1 + "</li>"; //第一页
pageStr += config.pageNumber === 2 ? '' : '<li class="ellipsis">...</li>'; //省略号
for (var i = (config.pageNumber - 1); i < (config.pageNumber + 2); i++) {
pageStr += '<li class="page-link-item ' + (config.pageNumber === i ? "curr" : "") + '">' + (i + 1) + "</li>";
}
pageStr += config.pageNumber === (pagecount - 3) ? '' : '<li class="ellipsis">...</li>'; //省略号
pageStr += '<li class="page-link-item last-page ' + (config.pageNumber === pagecount ? "curr" : "") + '">' + pagecount + "</li>"; //最后一页
}
}
//加下一页
pageStr += '<li class="page-link-item">下一页</li>';
pageStr += "</ul></td></tr>";
oldPage = config.pageNumber;
elobj.html(pageStr);
} else {
elobj.html("");
}
};