首页 > 开发 > AJAX > 正文

layui实现数据分页功能(ajax异步)

2024-09-01 08:34:01
字体:
来源:转载
供稿:网友

最近项目要使用layUI的分页,看了官方demo感觉还是不太清晰,摸索了一下,现在记录一下。

一、引入layUI的相关资源

<link rel="stylesheet" href="${ctxPath}/vendor/layui-v2.4.5/layui/css/layui.css" rel="external nofollow" ><script src="${ctxPath}/vendor/layui-v2.4.5/layui/layui.js"></script><script src="${ctxPath}/vendor/jquery.min.js"></script>//引入jquery包

二、html页面代码

<div class="layui-main g-main">  <div class="layui-row">    <div class="layui-col-xs12">      <blockquote class="layui-elem-quote">        当前系统排名:<span class="layui-badge-rim badge-number">第${scoreRecordUtil.rank}名</span>,        总积分:<span class="layui-badge-rim badge-number">${scoreRecordUtil.totalScore}分</span>,        和上一名相差:<span class="layui-badge-rim badge-number">${scoreRecordUtil.differenceTotal}分</span>,继续加油!      </blockquote>      <table class="layui-table">        <thead>          <tr>            <th>积分类型</th>            <th>积分原因</th>            <th>积分值</th>            <th>创建时间</th>          </tr>        </thead>                <tbody>  //存放分页加载数据        </tbody>              </table>      <div class="page"></div>    </div>  </div></div>

三、定义showReocrd()函数异步加载数据

function showReocrd(pageNo,pageSize){  $.get("${ctxPath}/score-record/showRecord",    {      pageNo:pageNo,      pageSize:pageSize    },    function (date) {     //加载后台返回的List集合数据      for (var i = 0; i < date.length; i++) {        var td = $("<td></td>").text(date[i].typeName);        var td2 = $("<td></td>").text(date[i].operate);        var td3 = $("<td></td>").text(date[i].score);        var td4 = $("<td></td>").text(date[i].createTime);        var tr = $("<tr></tr>").append(td, td2, td3, td4);        $('tbody').append(tr);      }    },    "json"  );}

四、分页js

主要注意下:

count: total 代表总的数据量,

limit 代表每页行数,

curr 代表起始页,但jump函数中的obj.curr取的是当前页数

jump 方法中obj参数可以取到上面的属性和方法

first 为是否首次加载

//加载总页数var total = "${scoreRecordUtil.totalRecord}";//先初始化加载首页,十条数据showReocrd(1,10);layui.use(['laypage','jquery'], function() {  var laypage = layui.laypage,$ = layui.$;  $(".page").each(function(i,the){    laypage.render({      elem: the //注意,这里的 test1 是 ID,不用加 # 号      ,count: total //数据总数,从服务端得到      , limit: 10           //每页显示条数      , limits: [10, 20, 30]      , curr: 1            //起始页      , groups: 5           //连续页码个数      , prev: '上一页'         //上一页文本      , netx: '下一页'         //下一页文本      , first: 1           //首页文本      , last: 100           //尾页文本      , layout: ['prev', 'page', 'next','limit','refresh','skip']      //跳转页码时调用      , jump: function (obj, first) { //obj为当前页的属性和方法,第一次加载first为true        //非首次加载 do something        if (!first) {          //清空以前加载的数据          $('tbody').empty();          //调用加载函数加载数据          showReocrd(obj.curr,obj.limit);        }      }    });  })})

推荐:使用layui的table组件自带分页功能(异步,含条件查询)点这里

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VeVb武林网。


注:相关教程知识阅读请移步到JavaScript/Ajax教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表