分页函数(Ajax)

// 执行分页,生成页面效果,任何时候调用这个函数都会重新加载页面
function generatePage() {

// 1.获取分页数据
var pageInfo = getPageInfoRemote();
// 2.填充表格
fillTableBody(pageInfo);

}

// 远程访问服务器端程序获取 pageInfo 数据
function getPageInfoRemote() {
// 调用 . a j a x ( ) 函 数 发 送 请 求 并 接 受 .ajax()函数发送请求并接受 .ajax().ajax()函数的返回值

var ajaxResult = $.ajax({
**//远程url地址**
	"url" : "**xxx**", 
	"type" : "post",
	"data" : {
	// 分页初始化数据一般会提前定义,这边直接获取值
		"pageNum" : window.pageNum,
		"pageSize" : window.pageSize,
		"keyword" : window.keyword
	},
		**// Ajax设置为同步状态**
	"async" : false,
	"dataType" : "json"
});
console.log(ajaxResult);
// 判断当前响应状态码是否为 200
var statusCode = ajaxResult.status;
// 如果当前响应状态码不是 200,说明发生了错误或其他意外情况,显示提示消息,让 当前函数停止执行
if (statusCode != 200) {
	layer.msg("失败!响应状态码=" + statusCode + " 说明信息=" + ajaxResult.statusText);
	return null;
}
// 如果响应状态码是 200,说明请求处理成功,获取 pageInfo
var resultEntity = ajaxResult.responseJSON;
// 从 resultEntity 中获取 result 属性
var result = resultEntity.result;
// 判断 result 是否成功
if (result == "FAILED") {
	layer.msg(resultEntity.message);
	return null;
}
// 确认 result 为成功后获取 pageInfo
var pageInfo = resultEntity.data;
// 返回 pageInfo
return pageInfo;

}

// 填充表格
function fillTableBody(pageInfo) {
// 清除 tbody 中的旧的内容
$("#rolePageBody").empty();
// 这里清空是为了让没有搜索结果时不显示页码导航条
$("#Pagination").empty();
// 判断 pageInfo 对象是否有效
if (pageInfo == null || pageInfo == undefined || pageInfo.list == null
|| pageInfo.list.length == 0) {
$("#rolePageBody")
.append(
“抱歉!没有查询到您搜 索的数据!”);
return;
}
// 使用 pageInfo 的 list 属性填充 tbody
for (var i = 0; i < pageInfo.list.length; i++) {
var role = pageInfo.list[i];
var roleId = role.id;
var roleName = role.name;
var numberTd = “” + (i + 1) + “”;
var checkboxTd = “”;
var roleNameTd = “” + roleName + “”;
var checkBtn = “”;
var pencilBtn = “”;
var removeBtn = “”;
var buttonTd = “” + checkBtn + " " + pencilBtn + " " + removeBtn
+ “”;
var tr = “” + numberTd + checkboxTd + roleNameTd + buttonTd
+ “”;
$("#rolePageBody").append(tr);
}
// 生成分页导航条
generateNavigator(pageInfo);
}

// 生成分页页码导航条
function generateNavigator(pageInfo) {
// 获取总记录数
var totalRecord = pageInfo.total;
// 声明相关属性
var properties = {
“num_edge_entries” : 3,
“num_display_entries” : 5,
“callback” : paginationCallBack,
“items_per_page” : pageInfo.pageSize,
“current_page” : pageInfo.pageNum - 1,
“prev_text” : “上一页”,
“next_text” : “下一页”
}
// 调用 pagination()函数
$("#Pagination").pagination(totalRecord, properties);
}

// 翻页时的回调函数
function paginationCallBack(pageIndex, jQuery) {
// 修改 window 对象的 pageNum 属性
window.pageNum = pageIndex + 1;
// 调用分页函数
generatePage();
// 取消页码超链接的默认行为
return false;
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值