全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

基于LayUI分页和LayUI laypage分页的使用示例

本文介绍了LayUI分页,LayUI动态分页,LayUI laypage分页,LayUI laypage刷新当前页,分享给大家,具体如下:

效果图:

 一、引用js依赖

主要是jquery-1.11.3.min.js 和 layui.all.js , json2.js用来做json对象转换的

<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.11.3.min.js"></script> 
<script type="text/javascript" src="${pageContext.request.contextPath}/plugin/layui/lay/dest/layui.all.js"></script> 
<script type="text/javascript" src="${pageContext.request.contextPath}/js/json2.js"></script> 

二、js分页方法封装(分页使用模板laytpl)

1、模板渲染

/** 
 * 分页模板的渲染方法 
 * @param templateId 分页需要渲染的模板的id 
 * @param resultContentId 模板渲染后显示在页面的内容的容器id 
 * @param data 服务器返回的json对象 
 */ 
function renderTemplate(templateId, resultContentId, data){ 
  layuiuse(['form','laytpl'], function(){ 
    var laytpl = layui.laytpl; 
    laytpl($("#"+templateId).html()).render(data, function(html){ 
      $("#"+resultContentId).html(html); 
    }); 
  }); 
  layui.form().render();// 渲染 
}; 

2、layui.laypage 分页封装

/** 
 * layuilaypage 分页封装 
 * @param laypageDivId 分页控件Div层的id 
 * @param pageParams 分页的参数 
 * @param templateId 分页需要渲染的模板的id 
 * @param resultContentId 模板渲染后显示在页面的内容的容器id 
 * @param url 向服务器请求分页的url链接地址 
 */ 
function renderPageData(laypageDivId, pageParams, templateId, resultContentId, url){ 
  if(isNull(pageParams)){ 
    pageParams = { 
      pageIndex : 1, 
      pageSize : 10 
    } 
  } 
  $ajax({ 
    url : url,//basePath + '/sysMenu/pageSysMenu', 
    method : 'post', 
    data : pageParams,//JSON.stringify(datasub) 
    async : true, 
    complete : function (XHR, TS){}, 
    error : function(XMLHttpRequest, textStatus, errorThrown) { 
      if("error"==textStatus){ 
        error("服务器未响应,请稍候再试"); 
      }else{ 
        error("操作失败,textStatus="+textStatus); 
      } 
    }, 
    success : function(data) { 
      var jsonObj; 
      if('object' == typeof data){ 
        jsonObj = data; 
      }else{ 
        jsonObj = JSON.parse(data); 
      } 
      renderTemplate(templateId, resultContentId, jsonObj); 
       
      //重新初始化分页插件 
      layui.use(['form','laypage'], function(){ 
        laypage = layui.laypage; 
        laypage({ 
          cont : laypageDivId, 
          curr : jsonObj.pager.pageIndex, 
          pages : jsonObj.pager.totalPage, 
          skip : true, 
          jump: function(obj, first){//obj是一个object类型。包括了分页的所有配置信息。first一个Boolean类,检测页面是否初始加载。非常有用,可避免无限刷新。 
            pageParams.pageIndex = obj.curr; 
            pageParams.pageSize = jsonObj.pager.pageSize; 
            if(!first){ 
              renderPageData(laypageDivId, pageParams, templateId, resultContentId, url); 
            } 
          } 
        }); 
      }); 
    } 
  }); 
}; 

 3、刷新当前分页的方法,可省略

/** 
 * 分页插件刷新当前页的数据,必须有跳转的确定按钮,因为根据按钮点击事件刷新 
 */ 
function reloadCurrentPage(){ 
  $(".layui-laypage-btn").click(); 
}; 

三、页面代码

1、分页表格及分页控件

<!-- 分页表格 --> 
<div class="layui-form"> 
 <table class="layui-table"> 
  <thead> 
   <tr> 
    <th class="w20"><input type="checkbox" name="checkBoxAll" lay-skin="primary" lay-filter="allChoose"></th> 
   <th class="w200">许可名称</th> 
   <th class="w200">许可编码</th> 
   <th class="w200">菜单名称</th> 
   <th>许可链接</th> 
  </tr>  
   </thead> 
   <tbody id="page_template_body_id"> 
  </tbody> 
 </table> 
</div> 
<!-- 分页控件div -->    
<div id="imovie-page-div"></div> 

2、分页模板

<script id="page_template_id" type="text/html"> 
{{# layui.each(d.list, function(index, item){ }} 
<tr> 
  <td><input type="checkbox" name="permissionId" lay-skin="primary" value="{{item.permissionId}}"></td> 
  <td>{{item.permissionName || ''}}</td> 
  <td>{{item.permissionCode || ''}}</td> 
  <td>{{item.menuName || ''}}</td> 
  <td>{{item.permissionUrl || ''}}</td> 
</tr> 
{{# }); }} 
</script> 

3、分页执行代码:

分页参数:

function getPageParams(){ 
  var pageParams = { 
  pageIndex : 1, 
  pageSize : 2 
  }; 
  pageParams.permissionName = $("input[name='permissionName']").val(); 
  pageParams.permissionCode = $("input[name='permissionCode']").val(); 
  pageParams.menuName = $("input[name='menuName']").val(); 
  return pageParams; 
}; 

分页执行方法:

function initPage(){ 
  renderPageData("imovie-page-div", getPageParams(), "page_template_id",  
      "page_template_body_id", basePath + '/sysPermission/pageSysPermission'); 
}; 

页面加载初始化分页:

$(function(){ 
  initPage(); 
}); 

如果包括上面效果图的查询,如下:

Html页面代码

<div> 
      <form class="layui-form layui-form-pane"> 
        <div class="layui-form-item"> 
          <div class="layui-inline"> 
            <label class="layui-form-label">许可名称</label> 
            <div class="layui-input-inline"> 
              <input type="text" name="permissionName"  
                autocomplete="off" class="layui-input" placeholder="请输入许可名称" > 
            </div> 
          </div> 
          <div class="layui-inline"> 
            <label class="layui-form-label">许可编码</label> 
            <div class="layui-input-inline"> 
              <input type="text" name="permissionCode"  
                autocomplete="off" placeholder="请输入许可编码" class="layui-input"> 
            </div> 
          </div> 
          <div class="layui-inline"> 
            <label class="layui-form-label">菜单名称</label> 
            <div class="layui-input-inline layui-input-inline-0"> 
              <input type="text" name="menuName"  
                autocomplete="off" placeholder="请选择菜单名称" class="layui-input"> 
               
            </div> 
          </div> 
          <div class="layui-inline"> 
            <button id="btnSubmit" class="layui-btn" lay-submit="" lay-filter="formFilter">查询</button> 
          </div> 
        </div> 
      </form> 
    </div> 

查询语句:

$(function(){ 
  initPage(); 
   
  layui.use(['form'], function(){ 
    var form = layui.form(); 
    //监听提交 
    formon('submit(formFilter)', function(data){ 
      initPage(); 
      return false; 
    }); 
      
      
  }); 
}); 

 四、懂 jquery 插件封装的大神可以将其封装成独立的分页插件,这样更加容易使用。我表示不太懂,^_^

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


# LayUI分页  # laypage分页  # laypage  # 刷新当前页  # Layui实现带查询条件的分页  # layui实现动态和静态分页  # 浅谈layui分页控件field参数接收对象的问题  # 基于LayUI实现前端分页功能的方法  # layui table 获取分页 limit的方法  # 分页  # 请输入  # 是一个  # 加载  # 当前页  # 将其  # 大神  # 给大家  # 请选择  # 跳转  # 请稍候  # 再试  # 大家多多  # 不太懂  # 主要是  # render  # laypageDivId  # layuilaypage  # pageParams  # Div 


相关文章: 单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  如何获取开源自助建站系统免费下载链接?  如何通过网站建站时间优化SEO与用户体验?  建站之星伪静态规则如何设置?  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  代购小票制作网站有哪些,购物小票的简要说明?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  安徽网站建设与外贸建站服务专业定制方案  定制建站是什么?如何实现个性化需求?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  如何在服务器上三步完成建站并提升流量?  如何设计高效校园网站?  如何在西部数码注册域名并快速搭建网站?  股票网站制作软件,网上股票怎么开户?  如何在阿里云ECS服务器部署织梦CMS网站?  大连网站设计制作招聘信息,大连投诉网站有哪些?  ,想在网上投简历,哪几个网站比较好?  定制建站流程解析:需求评估与SEO优化功能开发指南  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  ,制作一个手机app网站要多少钱?  大型企业网站制作流程,做网站需要注册公司吗?  如何快速查询网址的建站时间与历史轨迹?  微信小程序 input输入框控件详解及实例(多种示例)  定制建站策划方案_专业建站与网站建设方案一站式指南  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  建站DNS解析失败?如何正确配置域名服务器?  如何快速搭建二级域名独立网站?  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  建站之星24小时客服电话如何获取?  如何在Golang中指定模块版本_使用go.mod控制版本号  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  如何快速搭建高效简练网站?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  建站主机默认首页配置指南:核心功能与访问路径优化  SQL查询语句优化的实用方法总结  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  高防服务器租用指南:配置选择与快速部署攻略  如何通过建站之星自助学习解决操作问题?  常州自助建站费用包含哪些项目?  建站之星后台密码遗忘?如何快速找回?  建站之星后台密码如何安全设置与找回?  如何快速搭建高效WAP手机网站?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  建站之星如何修改网站生成路径?  宝塔建站助手安装配置与建站模板使用全流程解析  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  公司网站设计制作厂家,怎么创建自己的一个网站?  网站制作报价单模板图片,小松挖机官方网站报价?  为什么Go需要go mod文件_Go go mod文件作用说明 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。