layui实现简单分页

第一次写,有点小紧张!!!对layui分页做一个简单的总结。

首先引用layui和jQuery的js就不用再说了,写一下重点内容

1、定义一个id为pagebox的div,用于显示分页

<div class="commentbox" id="divlist">
   <ul class="commentList" id="ul"> </ul>
</div>
<div id="pagesbox"></div>

2、声明当前页和总页数变量;

var currPage =1;
var pageCount;

3、创建分页的方法;

function paged(res) {//res后台获取的json数据
   layui.use(['laypage', 'layer'], function () {
      var laypage = layui.laypage
      laypage.render({
         elem: 'pagesbox' // 分页容器id
         , count: res.count //总页数
         ,limit:10 //每页显示的数量
         , curr: currPage //当前页
         , layout: ['prev', 'page', 'count','next',  'skip'] //设置分页显示的内容
         , jump: function (obj, first) {
            currPage = obj.curr;  //这里是后台返回给前端的当前页数
            if (!first) { //点击跳页触发函数自身,并传递当前页:obj.curr  ajax 再次请求
               getListData(currPage);
            }
         }
      });
   });
}

4、创建与后台交互的方法,返回的数据格式为json;

function getListData(currPage){
   $.ajax({
      type: 'POST',
      url: "", // ajax请求路径
      data: {
         page:currPage, //当前页数
         limit:10 //每页显示数量
      },
      dataType:'json',
      success: function(res){
         pageCount =res.count;
         document.getElementById("ul").innerHTML = res.data;//设置ul内容(因为我在后台将html格式的数据封装了,此处直接赋值给ul元素)
         paged(data);
      }
   });
};

5、调用getListData(第一次打开页面是调用,本人愚钝,没有更好的方式,先使用这个方法,如果有更好的可以指正,[手动尴尬])

$(function () {
   getListData(1);//获取数据
});

 

最终显示效果:

本人小白,粗略总结,如果有不对的地方,希望大佬指正。

  • 10
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
实现自定义分页的增删改查功能,需要以下步骤: 1. 引入layui库和相关插件,如layer、form等。 2. 在HTML页面中添加表格DOM结构,包括表头和表格体。 3. 使用layui的table模块初始化表格,并设置表格的列和分页参数。 4. 在服务端编写相应的接口,用于处理分页请求和数据操作请求。 5. 在JavaScript中编写相应的代码,实现分页、查询、新增、修改和删除等功能。 下面是一个简单的示例代码: HTML部分: ``` <table id="dataTable" lay-filter="dataTable"></table> ``` JavaScript部分: ``` layui.use(['table', 'form', 'layer'], function(){ var table = layui.table; var form = layui.form; var layer = layui.layer; //初始化表格 table.render({ elem: '#dataTable', url: '/getList', //获取数据的接口 cols: [[ {field: 'id', title: 'ID'}, {field: 'name', title: '姓名'}, {field: 'age', title: '年龄'}, {field: 'phone', title: '电话'}, {field: 'address', title: '地址'}, {title: '操作', toolbar: '#operateBar', width: 200} ]], page: true, //开启分页 limit: 10, //每页显示的条数 limits: [10, 20, 30], //可供选择的每页条数 id: 'dataTable' }); //监听分页 table.on('page(dataTable)', function(obj){ table.reload('dataTable', { page: { curr: obj.curr //重新从第 obj.curr 页开始 } }); }); //监听查询 form.on('submit(search)', function(data){ table.reload('dataTable', { where: { name: data.field.name //传递查询条件 }, page: { curr: 1 //重新从第一页开始 } }); return false; }); //监听新增 form.on('submit(add)', function(data){ $.post('/add', data.field, function(res){ if(res.code == 0){ layer.msg('新增成功'); table.reload('dataTable'); layer.close(layer.index); }else{ layer.msg(res.msg); } }); return false; }); //监听修改 form.on('submit(edit)', function(data){ $.post('/edit', data.field, function(res){ if(res.code == 0){ layer.msg('修改成功'); table.reload('dataTable'); layer.close(layer.index); }else{ layer.msg(res.msg); } }); return false; }); //监听删除 table.on('tool(dataTable)', function(obj){ if(obj.event === 'delete'){ layer.confirm('确定删除该条数据?', function(index){ $.post('/delete', {id: obj.data.id}, function(res){ if(res.code == 0){ layer.msg('删除成功'); table.reload('dataTable'); layer.close(index); }else{ layer.msg(res.msg); } }); }); } }); }); ``` 注意,这只是一个简单的示例代码,实际开发中需要根据具体需求进行修改。同时,还需要在服务端编写相应的接口,用于处理数据请求,这里不再赘述。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虫子不吃鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值