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. php中常用的处理字符串的函数

    1.将字符串转换为数组的函数:str_split() array str_split ( string $string [, int $split_length = 1 ] ) string:输入字符 ...

  2. win7双系统安装openSUSE13.2解决【引导加载器安装期间出错】问题

    原始日期:2015-08-17 14:16 昨晚不知道哪根筋不对,突然想装一个liunx系统,与win7形成双系统,最终选定openSUSE13.2,想想以前也安装过Ubuntu,应该差不多,所以直接 ...

  3. html中p标签行间距的问题

    使用CSS行高样式line-height可以设置调整p行间距,但是同时会影响每行文字间的上下间距,所以使用line-height虽然可以用来设置html p 行距离间隔,但是不是很实用,一般line- ...

  4. 高效率遍历Map以及在循环过程中移除 remove指定key

    //高效率遍历Map以及在循环过程中移除 remove指定key //使用iter循环的时候 可以在循环中移除key,for在循环的过程中移除会报错哦 //本方法效率高 Iterator iter = ...

  5. [leetcode-560-Subarray Sum Equals K]

    Given an array of integers and an integer k, you need to find the total number of continuous subarra ...

  6. 一个"Median Maintenance"问题

    题目要求: Download the text file here. The goal of this problem is to implement the "Median Mainten ...

  7. Example011表单中修改内容

    <!-- 实例011表单中修改内容的方法 --> <!DOCTYPE html> <html lang="en"> <head> & ...

  8. 手机cpu结构,arm

    问题描述 今天测试人员测试集成版本时除了一个bug:关于华为 Mate 8手机Android 6.0系统运行刚刚提测的版本时,出现闪退的bug,而小米 4 手机Android 6.0系统却没有出现任何 ...

  9. python2和python3中的类

    经典类与新式类 例如: A B C D 四个类 D 包含 BC :   B和C分别包含A py2 在经典类中是按深度优先来继承 例如: D中查找B,B没有从A中查找 新式类中是按广度优先来查找继承的 ...

  10. Oracle的用户、角色以及权限相关操作

    1.创建用户create user KD identified by 123456;2.授予连接数据库的权限grant connect to KD;3.将Scott用户的emp表授权给KD可以查询gr ...