基于bootstrap的后台分页


分页为后台分页,只不过用了bootstrap的样式,然后前台js代码需要自己实现

pagination.html

<nav class="navigation paging" role="navigation">
	<div>
		<input id="pageNumber" type="hidden" name="pageNumber" class="page-no" value="" /> 
		<input type="hidden" name="pageSize" class="page-size" value="" /> 
		<input type="hidden" name="pageSize" class="page-size" value="" />
	</div>
	<!-- 	<button class="btn btn-primary" type="button">没有记录</button> -->
	<ul class="pagination pull-right no-margin">
		<button class="btn btn-primary" type="button">
			共 <span id="totalCount" class="badge"> </span>条 / 共 <span id="totalPage" class="badge"> </span>页
		</button>
		<!-- 首页 -->
		<li id="first" class="first" data-page-no="1"><a href="">首页</a></li>
		<li id="previouspage" class="previous" data-page-no=""><a href=""><i class="layui-icon"></i></a></li>

		<li id="predisabled" class="extend disabled" style="display: none"><a href="javascript:void(0)">...</a></li>

		<!-- ... -->
		<li id="nextdisabled" class="extend disabled" style="display: none"><a href="javascript:void(0)">...</a></li>
		<li id="next" class="next" data-page-no=""><a href=""><i class="layui-icon"></i></a></li>
		<!-- 尾页 -->
		<li id="last" class="last" data-page-no=""><a href="">尾页</a></li>
	</ul>
</nav>
xx.js 
var loadPage = function(page, totalPage, totalCount) {
	//加载分页框前 ,先清空分页码。防止分页码重复
	$('.pagenumber').each(function() {
		$(this).remove();
	})
	var albumId = $('#albumId').val();
	$('#totalPage').text(totalPage);
	$('#totalCount').text(totalCount);
	$('#pageNumber').val(page);
	//应显示的页码框数
	var pagingSize = 7;
	var startPage;
	var endPage;
	// 加载首页 尾页框信息
	$('#first a').attr('href', 'javascript:losdMsg(' + 1 + ')');
	$('#last a').attr('href', 'javascript:losdMsg(' + totalPage + ')');
	//上一页,当前页为首页时隐藏按钮
	if (page == "1")
		$('#previouspage').hide();
	else {
		$('#previouspage').show();
		$('#previouspage a').attr('href', 'javascript:losdMsg(' + (page - 1) + ')');

	}
	//下一页,当前页为尾页时隐藏按钮
	if (totalPage == page)
		$('#next').hide();
	else {
		$('#next').show();
		$('#next a').attr('href', 'javascript:losdMsg(' + (page + 1) + ')');
	}
	//当总页数大于应显示的页码框数,显示的页码数的始末位置
	if (totalPage > pagingSize) {
		startPage = page - (pagingSize / 2);
		startPage = startPage < 1 ? 1 : Math.floor(startPage);
		endPage = startPage + pagingSize - 1;
		if (endPage > totalPage) {
			endPage = totalPage;
			startPage = totalPage - pagingSize + 1;
		}
	} else {
		startPage = 1;
		endPage = totalPage;
	}
	//显示的页码数的起始位置不在首页时,显示...
	if (totalPage > pagingSize && startPage != 1) {
		$('#predisabled').show();
	} else {
		$('#predisabled').hide();

	}
	//显示的页码数的终点位置不在尾页时,显示...
	if ((totalPage > pagingSize && endPage != totalPage)) {
		$('#nextdisabled').show();
	} else {
		$('#nextdisabled').hide();

	}
	//渲染页码框,因为是after 所以要倒序渲染
	for (var i = endPage; i > startPage - 1; i--) {
		if (i == page) {
			$('#predisabled').after('<li class=" pagenumber current active"><a href="javascript:void(0)">' + i + '</a></li>');
			continue;
		}
		$('#predisabled').after('<li class="pagenumber" data-page-no="' + i + '"><a href="javascript:losdMsg(' + i + ')">' + i + '</a></li>')
	}

}
上面的 loadMsg() 是加载数据用的,也就是一个ajax请求。albumId 也是我请求需要用到的参数,非必须

然后pageSize的话是后台固定的,并没有可选;所以加载的时候默认是一页。除非上面的js请求了!

有数据的样子:


没数据的样子:


最后!第一次用jq写前台分页逻辑,以前都是用的现成的js分页框架。逻辑全在一个函数里,感觉一团糨糊!不管怎么样!至少还是能用的偷笑偷笑

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Bootstrap Treetable 不支持自带分页功能,但可以与其他分页插件结合使用。以下是一个示例: 1. 首先,在 HTML 页面中引入 Bootstrap Treetable 和分页插件的 CSS 和 JS 文件。 ``` <!-- Bootstrap Treetable --> <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/bootstrap-treetable/1.2.0/bootstrap-treetable.min.css"> <script src="https://cdn.bootcdn.net/ajax/libs/bootstrap-treetable/1.2.0/bootstrap-treetable.min.js"></script> <!-- 分页插件(这里以 bootstrap-paginator 为例) --> <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/bootstrap-paginator/2.2.5/bootstrap-paginator.min.css"> <script src="https://cdn.bootcdn.net/ajax/libs/bootstrap-paginator/2.2.5/bootstrap-paginator.min.js"></script> ``` 2. 在 HTML 页面中创建一个表格容器,并初始化 Bootstrap Treetable。 ``` <div id="table-container"></div> <script> $(function() { $('#table-container').bootstrapTreeTable({ // 配置项 }); }); </script> ``` 3. 在初始化的回调函数中,使用分页插件对数据进行分页,并更新表格数据。 ``` $(function() { $('#table-container').bootstrapTreeTable({ // 配置项 onInit: function(data) { // 分页插件配置 var options = { // 分页参数 currentPage: 1, totalPages: Math.ceil(data.total / data.pageSize), size: 'normal', alignment: 'center', onPageClicked: function(e, originalEvent, type, page) { // 分页回调函数 $.ajax({ url: '/api/data', dataType: 'json', data: { page: page, pageSize: data.pageSize }, success: function(data) { // 更新表格数据 $('#table-container').bootstrapTreeTable('load', data); } }); } }; // 初始化分页插件 $('#paginator').bootstrapPaginator(options); } }); }); ``` 以上是一个简单的 Bootstrap Treetable 分页示例,你可以根据自己的具体需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值