js ajax 分页

(function($) {
	// pageCount:一页显示数,默认15
	// callBack:查询的回调方法
	// pageContFlag true默认显示翻页内容,false简单翻页内容
	$.fn.turnPage = function(pageCount, callBack, pageContFlag) {
		var ctrlid = this.attr("id") == null ? "" : "_" + this.attr("id");// 控件ID,支持同一个页面有多个翻页控件
		pageCount = (pageCount != null) ? pageCount : 15;
		var obj = this;
		$('<b>无查询数据</b>').insertBefore(obj).hide();
		html = "<b>第<span id='_currentTotalPageNo"
				+ ctrlid
				+ "'></span> 页 共<span id='_totalCount"
				+ ctrlid
				+ "'></span>条</b>"
				+ "<a id='_toFirstPage"
				+ ctrlid
				+ "' οnclick='javascript:void(0);' class='navlinks' >首页</a><a id='_toPreviousPage"
				+ ctrlid
				+ "' οnclick='javascript:void(0);' class='navlinks'>< 上一页</a>"
				+ "<a id='_toNextPage"
				+ ctrlid
				+ "' οnclick='javascript:void(0);' class='navlinks' >下一页  ></a><a id='_toLastPage"
				+ ctrlid
				+ "' οnclick='javascript:void(0);' class='navlinks'>末页</a>"
				+ "<input style='width:60px' type='text' id='_customPage"
				+ ctrlid
				+ "' class='navlinks'/><input type='button' id='_toCustomPage"
				+ ctrlid + "' class='navlinks' value='GO' />"
				+ "<input id='currentPageNo" + ctrlid
				+ "' type='hidden' value='1'/><input id='pageCount" + ctrlid
				+ "' type='hidden' value='" + pageCount + "'/>";
		obj.html(html).hide();
		$("#_toCustomPage" + ctrlid).click(function() {
			obj.gotoPage($("#_customPage" + ctrlid, obj).val());
			$("#_customPage" + ctrlid, obj).val("");
		});
		$.EnterKeyPress($("#_customPage" + ctrlid),
				$("#_toCustomPage" + ctrlid));
		var totalPage;// 总页数
		// 跳转到第几页
		this.gotoPage = function(pageNo) {
			if (isNaN(pageNo)) {
//				alert("页索引只能为数字!");
				 layer.msg('页索引只能为数字!',{icon:5});
				return;
			} else if (pageNo < 1) {
				pageNo = 1;
			}
			pageNo = Math.floor(pageNo);
			if (totalPage && pageNo > totalPage) {
				pageNo = totalPage;
			}
			$("#currentPageNo" + ctrlid, obj).val(pageNo);
			if (callBack) {
				callBack();
			} else {
				queryList();
			}
		};
		// 设置翻页数据
		this.setPageData = function(data) {
			if (!data || data.totalCount == 0) {
				obj.hide();
				obj.prev().show();// 显示无查询结果
				totalPage = null;
				return;
			}
			var currentPageNo = data.currentPageNo;
			var currentPageSize = data.currentPageSize;
			var totalCount = data.totalCount;
			var totalPageCount = data.totalPageCount;

			var _ele = $("#_toFirstPage" + ctrlid, obj).unbind();
			if (currentPageNo > 1) {// 首页事件
				_ele.click(function() {
					obj.gotoPage(1);
					return false;
				});
			}
			_ele = $("#_toPreviousPage" + ctrlid, obj).unbind();
			if (currentPageNo > 1) {// 上一页事件
				_ele.click(function() {
					obj.gotoPage(parseInt(currentPageNo) - 1);
					return false;
				});
			}
			_ele = $("#_toNextPage" + ctrlid, obj).unbind();
			if (currentPageNo < totalPageCount) {// 下一页事件
				_ele.click(function() {
					obj.gotoPage(parseInt(currentPageNo) + 1);
					return false;
				});
			}
			_ele = $("#_toLastPage" + ctrlid, obj).unbind();
			if (currentPageNo < totalPageCount) {// 未页事件
				_ele.click(function() {
					obj.gotoPage(totalPageCount);
					return false;
				});
			}
			if (pageContFlag != null && pageContFlag) {

			} else {
				$("#_totalCount" + ctrlid, obj).text(totalCount);
			}

			$("#_currentTotalPageNo" + ctrlid, obj).text(
					currentPageNo + "/" + totalPageCount);

			totalPage = totalPageCount;
			$("#currentPageNo" + ctrlid, obj).val(currentPageNo);// 更新当前页码,查询当页无数据时后台会自跳转到上一页
			obj.show();
			obj.prev().hide();
		};
		// 取得当前页码
		this.getCurrentPageNo = function() {
			return $("#currentPageNo" + ctrlid, obj).val();
		};
		// 取得总页数
		this.getPageCount = function() {
			return $("#pageCount" + ctrlid, obj).val();
		};
		// 设置当前页码
		this.setCurrentPageNo = function(currentPageNo) {
			$("#currentPageNo" + ctrlid, obj).val(currentPageNo);
		};
		// 设置总页数
		this.setPageCount = function(pageCount) {
			$("#pageCount" + ctrlid, obj).val(pageCount);
		};
		return this;
	};
	$.EnterKeyPress = function(src, tar) {
		src.keypress(function(e) {
			if (e.keyCode == 13) {
				tar.click();
				return false;
			}
		});
	};
})(jQuery);




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值