当前位置:Gxlcms > JavaScript > layui实现数据分页功能(ajax异步)

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

时间:2021-07-01 10:21:17 帮助过:5人阅读

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

一、引入layUI的相关资源

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

二、html页面代码

  1. <div class="layui-main g-main">
  2. <div class="layui-row">
  3. <div class="layui-col-xs12">
  4. <blockquote class="layui-elem-quote">
  5. 当前系统排名:<span class="layui-badge-rim badge-number">第${scoreRecordUtil.rank}名</span>,
  6. 总积分:<span class="layui-badge-rim badge-number">${scoreRecordUtil.totalScore}分</span>,
  7. 和上一名相差:<span class="layui-badge-rim badge-number">${scoreRecordUtil.differenceTotal}分</span>,继续加油!
  8. </blockquote>
  9. <table class="layui-table">
  10. <thead>
  11. <tr>
  12. <th>积分类型</th>
  13. <th>积分原因</th>
  14. <th>积分值</th>
  15. <th>创建时间</th>
  16. </tr>
  17. </thead>
  18. <tbody>
  19. //存放分页加载数据
  20. </tbody>
  21. </table>
  22. <div class="page"></div>
  23. </div>
  24. </div>
  25. </div>

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

  1. function showReocrd(pageNo,pageSize){
  2. $.get("${ctxPath}/score-record/showRecord",
  3. {
  4. pageNo:pageNo,
  5. pageSize:pageSize
  6. },
  7. function (date) {
  8. //加载后台返回的List集合数据
  9. for (var i = 0; i < date.length; i++) {
  10. var td = $("<td></td>").text(date[i].typeName);
  11. var td2 = $("<td></td>").text(date[i].operate);
  12. var td3 = $("<td></td>").text(date[i].score);
  13. var td4 = $("<td></td>").text(date[i].createTime);
  14. var tr = $("<tr></tr>").append(td, td2, td3, td4);
  15. $('tbody').append(tr);
  16. }
  17. },
  18. "json"
  19. );
  20. }

四、分页js

主要注意下:

count: total 代表总的数据量,

limit 代表每页行数,

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

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

first 为是否首次加载

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

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

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

人气教程排行