使用laypage插件分页

本文介绍了如何使用laypage前端分页插件,包括设置分页元素、准备工作、页面加载后的数据请求以及根据服务器返回数据绘制表格和展示分页效果。

引入脚本样式不再赘述,直接进入正题

用作分页显示的元素

<div id="lay_page"></div>

为分页做准备

    // 创建变量并初始化,为翻页提供支持
    var pageConfig = {
    	pageNum: 1, 
    	pageSize: 10, 
    	total: 0,
    	categoryUid: "rootCategory", // 这是一个查询条件
    	proName: ""
    }

页面加载后向服务器请求数据

    $(function() {
       getInfo();
    });
    /* 向服务器请求数据   */
    function getInfo() {
    	$.ajax({
    		url: common.getPath() + "/demo/getData",
    		type: "post",
    		dataType: "json",
    		data: {
    			"pageNum": pageConfig.pageNum,
    			"pageSize": pageConfig.pageSize,
    			"categoryUid": pageConfig.categoryUid,
    			"proName": $('#proName_input').val().trim()
    		},
    		success: function(result) {
    			if (result.status == 0) {
    			        // 根据返回的参数绘制table
                                drawTable(result.data);
    			}
    		}
    	});
    }

根据服务器返回的数据绘制表单,根据返回的信息展示分页插件

    // 请求数据成功,画表单,渲染分页控件
    function drawTable(pageInfo) {
        // 记录服务器返回的分页相关参数,用于分页控件渲染
        pageConfig.pageNum = pageInfo.pageNum;  
    	pageConfig.pageSize = pageInfo.pageSize;
    	pageConfig.total = pageInfo.total;
    	
        // 渲染分页控件
    	doPage();
    	
    	// 清空表格数据
    	$("#table_tbody").html('');
    	if (pageInfo.total == 0) {
    		return;
    	}
    	// 填充表格数据
    	var list = pageInfo.list;
    	var startSort = pageInfo.startRow;//开始序号
    	var trs = "";
    	for(var i=0; i<list.length; i++) {
    		var meta = list[i];
    		var sortNum = startSort + i;
            
    		trs += '<tr><td><input type="checkbox" name="pro_check" value="' + meta.categoryUid + '" lay-skin="primary">'+ sortNum +'</td>'
    		            + '<td>'+meta.proName+'</td>'
    		            + '<td>'+meta.proAppId+'</td>'
    		            + '<td>'+meta.proUid+'</td>'
    		            + '<td>'+meta.creatorFullName+'</td>'
    		            + '<td>'+createTime+'</td>'
    		            + '<td>'+meta.updatorFullName+'</td>'
    		            + '<td>'+updateTime+'</td>'
    		            + '</tr>';
    	}
    	$("#table_tbody").append(trs);
    	
    }    
    // 渲染分页控件
    function doPage() {
        layui.use(['laypage', 'layer'], function(){
            var laypage = layui.laypage,layer = layui.layer;  
            
            laypage.render({
                elem: 'lay_page',  // 作为分页信息的元素
                curr: pageConfig.pageNum, // 当前页码,服务器返回的
                count: pageConfig.total,  // 总记录数,服务器返回的
                limit: pageConfig.pageSize,  // 每页数,服务器返回的
                layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'],
                jump: function(obj, first){
                    // 点击新页码自动进入此方法,obj包含了点击的页数的信息  
                    pageConfig.pageNum = obj.curr;
                    pageConfig.pageSize = obj.limit;
                    if (!first) {
                        getInfo(); // 如果不是第一次,向服务器请求参数->渲染分页插件,循环
                    }
                }
            }); 
        });
    }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值