LayUI分页,LayUI动态分页,LayUI laypage分页,LayUI laypage刷新当前页

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

©Copyright 蕃薯耀 2017年8月1日

http://www.cnblogs.com/fanshuyao/

效果图:

一、引用js依赖

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

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

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

1、模板渲染

  1. /**
  2. * 分页模板的渲染方法
  3. * @param templateId 分页需要渲染的模板的id
  4. * @param resultContentId 模板渲染后显示在页面的内容的容器id
  5. * @param data 服务器返回的json对象
  6. */
  7. function renderTemplate(templateId, resultContentId, data){
  8. layui.use(['form','laytpl'], function(){
  9. var laytpl = layui.laytpl;
  10. laytpl($("#"+templateId).html()).render(data, function(html){
  11. $("#"+resultContentId).html(html);
  12. });
  13. });
  14. layui.form().render();// 渲染
  15. };

2、layui.laypage 分页封装

  1. /**
  2. * layui.laypage 分页封装
  3. * @param laypageDivId 分页控件Div层的id
  4. * @param pageParams 分页的参数
  5. * @param templateId 分页需要渲染的模板的id
  6. * @param resultContentId 模板渲染后显示在页面的内容的容器id
  7. * @param url 向服务器请求分页的url链接地址
  8. */
  9. function renderPageData(laypageDivId, pageParams, templateId, resultContentId, url){
  10. if(isNull(pageParams)){
  11. pageParams = {
  12. pageIndex : 1,
  13. pageSize : 10
  14. }
  15. }
  16. $.ajax({
  17. url : url,//basePath + '/sysMenu/pageSysMenu',
  18. method : 'post',
  19. data : pageParams,//JSON.stringify(datasub)
  20. async : true,
  21. complete : function (XHR, TS){},
  22. error : function(XMLHttpRequest, textStatus, errorThrown) {
  23. if("error"==textStatus){
  24. error("服务器未响应,请稍候再试");
  25. }else{
  26. error("操作失败,textStatus="+textStatus);
  27. }
  28. },
  29. success : function(data) {
  30. var jsonObj;
  31. if('object' == typeof data){
  32. jsonObj = data;
  33. }else{
  34. jsonObj = JSON.parse(data);
  35. }
  36. renderTemplate(templateId, resultContentId, jsonObj);
  37. //重新初始化分页插件
  38. layui.use(['form','laypage'], function(){
  39. laypage = layui.laypage;
  40. laypage({
  41. cont : laypageDivId,
  42. curr : jsonObj.pager.pageIndex,
  43. pages : jsonObj.pager.totalPage,
  44. skip : true,
  45. jump: function(obj, first){//obj是一个object类型。包括了分页的所有配置信息。first一个Boolean类,检测页面是否初始加载。非常有用,可避免无限刷新。
  46. pageParams.pageIndex = obj.curr;
  47. pageParams.pageSize = jsonObj.pager.pageSize;
  48. if(!first){
  49. renderPageData(laypageDivId, pageParams, templateId, resultContentId, url);
  50. }
  51. }
  52. });
  53. });
  54. }
  55. });
  56. };

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

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

三、页面代码

1、分页表格及分页控件

  1. <!-- 分页表格 -->
  2. <div class="layui-form">
  3. <table class="layui-table">
  4. <thead>
  5. <tr>
  6. <th class="w20"><input type="checkbox" name="checkBoxAll" lay-skin="primary" lay-filter="allChoose"></th>
  7. <th class="w200">许可名称</th>
  8. <th class="w200">许可编码</th>
  9. <th class="w200">菜单名称</th>
  10. <th>许可链接</th>
  11. </tr>
  12. </thead>
  13. <tbody id="page_template_body_id">
  14. </tbody>
  15. </table>
  16. </div>
  17. <!-- 分页控件div -->
  18. <div id="imovie-page-div"></div>

2、分页模板

  1. <script id="page_template_id" type="text/html">
  2. {{#  layui.each(d.list, function(index, item){ }}
  3. <tr>
  4. <td><input type="checkbox" name="permissionId" lay-skin="primary" value="{{item.permissionId}}"></td>
  5. <td>{{item.permissionName || ''}}</td>
  6. <td>{{item.permissionCode || ''}}</td>
  7. <td>{{item.menuName || ''}}</td>
  8. <td>{{item.permissionUrl || ''}}</td>
  9. </tr>
  10. {{#  }); }}
  11. </script>

3、分页执行代码:

分页参数:

  1. function getPageParams(){
  2. var pageParams = {
  3. pageIndex : 1,
  4. pageSize : 2
  5. };
  6. pageParams.permissionName = $("input[name='permissionName']").val();
  7. pageParams.permissionCode = $("input[name='permissionCode']").val();
  8. pageParams.menuName = $("input[name='menuName']").val();
  9. return pageParams;
  10. };

分页执行方法:

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

页面加载初始化分页:

  1. $(function(){
  2. initPage();
  3. });

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

Html页面代码

  1. <div>
  2. <form class="layui-form layui-form-pane">
  3. <div class="layui-form-item">
  4. <div class="layui-inline">
  5. <label class="layui-form-label">许可名称</label>
  6. <div class="layui-input-inline">
  7. <input type="text" name="permissionName"
  8. autocomplete="off" class="layui-input" placeholder="请输入许可名称" >
  9. </div>
  10. </div>
  11. <div class="layui-inline">
  12. <label class="layui-form-label">许可编码</label>
  13. <div class="layui-input-inline">
  14. <input type="text" name="permissionCode"
  15. autocomplete="off" placeholder="请输入许可编码" class="layui-input">
  16. </div>
  17. </div>
  18. <div class="layui-inline">
  19. <label class="layui-form-label">菜单名称</label>
  20. <div class="layui-input-inline layui-input-inline-0">
  21. <input type="text" name="menuName"
  22. autocomplete="off" placeholder="请选择菜单名称" class="layui-input">
  23. </div>
  24. </div>
  25. <div class="layui-inline">
  26. <button id="btnSubmit" class="layui-btn" lay-submit="" lay-filter="formFilter">查询</button>
  27. </div>
  28. </div>
  29. </form>
  30. </div>

查询语句:

  1. $(function(){
  2. initPage();
  3. layui.use(['form'], function(){
  4. var form = layui.form();
  5. //监听提交
  6. form.on('submit(formFilter)', function(data){
  7. initPage();
  8. return false;
  9. });
  10. });
  11. });

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

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

©Copyright 蕃薯耀 2017年8月1日

http://www.cnblogs.com/fanshuyao/

LayUI分页,LayUI动态分页,LayUI laypage分页,LayUI laypage刷新当前页的更多相关文章

  1. 在分页中,删除操作后,AJAX重载刷新当前页

    需求 分页中,在 删除 和 编辑 完成后,AJAX重载刷新 当前页 ,而不是跳转到 第一页 实现步骤 添加两个的 input 控件,用来存储 当前页数 和 记录总条数(非必须,能有方法获取到这两个值即 ...

  2. layui 通过laytpl模板,以及laypage分页实现

    一.引用js依赖 jquery-1.11.3.min.js , layui.all.js, json2.js 二.js分页方法封装(分页使用模板laytpl) 1.模板渲染 /**  * 分页模板的渲 ...

  3. layui结合mybatis的pagehelper插件的分页通用的方法

    总体思路: 1.前台查询的时候将当前页和页大小传到后台 2.后台将当前页,页大小以及数据与数据总数返回前台,前台显示完表格完数据之后显示分页插件. 前台页面: 准备查询条件的表单,与数据表格,分页di ...

  4. 拿来主义:layPage分页插件的使用

    布衣之谈 所谓插件,大概就是项目中可插可拔的比较小功能化的组件:这些功能组件若能力可及,自己也可以完成——也即自己造轮子,但翻看各种技术社区,相关领域的神人们往往会有更好的实现方案贡献出来,这个时候你 ...

  5. 基于layui,Jquery 表格动态编辑 设置 编辑值为 int 或者 double 类型及默认值

    首先先推荐大家在看这篇笔记时,阅读过我写的这篇 Layui表格编辑[不依赖Layui的动态table加载] 阅读过上面那篇笔记之后呢,才能更好的理解我现在所要说的这个东西 接下来废话不多说,上代码. ...

  6. 动态多条件查询分页以及排序(一)--MVC与Entity Framework版url分页版

    一.前言 多条件查询分页以及排序  每个系统里都会有这个的代码 做好这块 可以大大提高开发效率  所以博主分享下自己的6个版本的 多条件查询分页以及排序 二.目前状况 不论是ado.net 还是EF ...

  7. laypage分页控件使用方法

    laypage是一款非常简单易用的分页控件,由于最近项目中使用到了,简单记录一下使用方法 1.引入laypage所需的js和css文件 <link href="js/laypage/1 ...

  8. easyui combogrid下拉表格的分页/按键/动态搜索

    作者:xfl4629712  <  easyui combogrid下拉表格的分页/按键/动态搜索  > 需求: 1.下拉框下拉时出现表格: 2.表格带分页功能: 3.可以使用向上键.向下 ...

  9. SPA项目开发之动态树+数据表格+分页

    SPA项目开发之动态树+数据表格+分页 动态生成NavMenu导航菜单(只支持2级菜单) <el-menu key="" index=""> < ...

随机推荐

  1. WPF中实现类智能感知

    首先要做的事情就是定义一个popup来显示我们需要展示的东西 <Popup x:Name=" StaysOpen="False" Placement="B ...

  2. grid表格选择模式

    selModel: { // type: 'checkboxmodel', type: 'cellmodel', // mode: 'SIMPLE', mode: 'SINGLE', checkOnl ...

  3. 第一次接触Axure

    现在已经是凌晨4:21了,我的第一份Axure.RP文件终于接近尾声,我带着些许疲倦些许兴奋的状态写下这篇博客,记录我和Axure的初遇.       三天前,我加入了湖南大学金山俱乐部,参加了第一次 ...

  4. Java学习笔记--反射API

    反射API 1.反射API的介绍 通过反射API可以获取Java程序在运行时刻的内部结构.比如Java类中包含的构造方法.域和方法等元素,并可以与这些元素进行交换.     按照 一般地面向对象的设计 ...

  5. 【LeetCode】168. Excel Sheet Column Title

    题目: Given a positive integer, return its corresponding column title as appear in an Excel sheet. For ...

  6. Java基础(5)- 输出输入

    输出输入 public class Input { public static void main (String[] args){ try { /** * 打开文件流进行读取 */ Scanner ...

  7. H3CNE实验:Comware基本命令操作

    第1步:Comware命令视图及切换操作 <H3C>system-view System View: return to User View with Ctrl+Z. [H3C]quit ...

  8. Vijos 1040 高精度乘法

    描述 高精度乘法 输入:两行,每行表示一个非负整数(不超过10000位) 输出:两数的乘积. 样例1 样例输入1 99 101 样例输出1 9999 题解 这道题和之前的Vijos 1010 清帝之惑 ...

  9. usaco training 4.2.2 The Perfect Stall 最佳牛栏 题解

    The Perfect Stall题解 Hal Burch Farmer John completed his new barn just last week, complete with all t ...

  10. c++数组易错点总结

    c++数组 1.只有在定义数组是才能使用初始化,此后就不能使用了,也不能将一个数组赋给另一个数组 int cards[4] = { 3 , 6 , 8 , 10}; //ok int hands[4] ...