layui 通过laytpl模板,以及laypage分页实现
一、引用js依赖
jquery-1.11.3.min.js , layui.all.js, json2.js
二、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();// 渲染 }; /**  * 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);             }           }         });       });     }   }); }; /**  * 分页插件刷新当前页的数据,必须有跳转的确定按钮,因为根据按钮点击事件刷新  */function reloadCurrentPage(){   $(".layui-laypage-btn").click(); };<!-- 分页表格 --><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><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>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(); });<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;     });                 }); }); layui 通过laytpl模板,以及laypage分页实现的更多相关文章
- LayUI分页,LayUI动态分页,LayUI laypage分页,LayUI laypage刷新当前页
		LayUI分页,LayUI动态分页,LayUI laypage分页,LayUI laypage刷新当前页 >>>>>>>>>>>> ... 
- layui.laytpl 模板引擎用法
		目录 layui下载地址: 最终效果: 模板引擎文档 手册地址: 以下是代码思路: layui下载地址: https://www.layui.com/ 最终效果: 模板引擎文档 手册地址: https ... 
- 拿来主义:layPage分页插件的使用
		布衣之谈 所谓插件,大概就是项目中可插可拔的比较小功能化的组件:这些功能组件若能力可及,自己也可以完成——也即自己造轮子,但翻看各种技术社区,相关领域的神人们往往会有更好的实现方案贡献出来,这个时候你 ... 
- 如何基于layui的laytpl实现数据绑定
		想了半天才想起自己园子的登录密码.可想而知,多长时间没登录了 正文一开始用layui做了几个管理系统,所以用起来觉得确实很容易上手,管理后台最常用的就是form和table以及弹窗类.layui提供的 ... 
- laytpl模板——怎么使用ajax与数据交互
		第一次在项目中用laytpl模板,下面是一些使用过程中的探索,希望对小伙伴们有所帮助. 注:第一次使用这个模板的小伙伴建议先去看看官网 laytpl <script type="tex ... 
- doT.js模板和pagination分页应用
		doT.js模板和pagination分页应用 博客中模拟了数据加载初始化的过程.doT.js渲染每一项内容的数据项.示例如下: <script id="Messtmpl" ... 
- 基于layPage分页插件浅析两种分页方式
		最近在开发过程中经常用到分页,今天挤出些时间来捋一捋自己的经验 在web开发中,一般显示数据列表页时,我们会用到分页控件来显示数据.采用分页一般基于两种不同的需求,一种是数据量不算很大,但是在页面展示 ... 
- 记录项目中用的laypage分页代码
		最终才觉得,好记性不如烂笔头,毕竟已经不是刚毕业时候的巅峰了,精力有所下降,很多时候记不住东西. 参考url:http://www.layui.com/laypage/ 直接上代码了 <scri ... 
- layui之layer打开table后分页无效的解决方法
		1.原代码: <body> <div id="showalladdableavms" style="display: none;width:100%&q ... 
随机推荐
- 14.5 Go 爬虫
			14.5 Go 爬虫 爬虫库/框架 henrylee2cn/pholcus 幽灵蛛 星5200 gocrawl 星1700 colly 星7169 hu17889/go_spider 星1400 go ... 
- 自定义docker的镜像
- deno+mongo实战踩坑记
			自从 deno 1.0 发布以来,有关 deno 的文章很多,大多数都是在讨论怎么安装 deno .deno 有哪些特点 .deno 和 node 有哪些异同.deno是不是 node 的替代品等.咱 ... 
- python3.x 基础四:生成器与迭代器
			1.预先存值到内存,调用之前已经占用了内存,不管用与不用,都占用内存 >>> a=[1,2,3,4,5] >>> type(a) <class 'list'& ... 
- JMM_Java内存模型
			一.什么是 JMM JMM : Java 内存模型,它并不实际存在,是一种概念,一种约定! 作用 :主要是定义了 线程 与 主内存 之间存取数据的一些规则,进行一定的约束. 二.关于 JMM 的约定 ... 
- PAT-1132 Cut Integer (整数分割)
			Cutting an integer means to cut a K digits long integer Z into two integers of (K/2) digits long int ... 
- BZOJ 1028 BZOJ 1029   //贪心
			1028: [JSOI2007]麻将 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 2197 Solved: 989[Submit][Status][ ... 
- Keepalived 原理与实战
			Keepalived 原理与实战 随着系统架构的逐渐演化,服务器的数量和结构会越来越复杂,例如 Web 服务器集群的搭建,提高了系统的性能,同时也提高了系统维护的复杂度,我们需要对集群中各台服务器进行 ... 
- Java——读取和写入txt文件
			package com.java.test.a; import java.io.BufferedReader; import java.io.BufferedWriter; import java.i ... 
- [站点推荐]001.学习新技能的37个最佳网站(The 37 Best Websites To Learn Something New)
			忘了过于褒奖的学校.整天呆在拥挤的教室而效果却差得可怜.这些网站和应用涵盖了科学.艺术和技术的无数话题.它们可以教会你实践练习任何技能,从制作豆 沙到用 node.js 开发 app,而且它们都是免费 ... 
