LayUI分页,LayUI动态分页,LayUI laypage分页,LayUI laypage刷新当前页
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对象转换的
- <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){
- layui.use(['form','laytpl'], function(){
- var laytpl = layui.laytpl;
- laytpl($("#"+templateId).html()).render(data, function(html){
- $("#"+resultContentId).html(html);
- });
- });
- layui.form().render();// 渲染
- };
2、layui.laypage 分页封装
- /**
- * layui.laypage 分页封装
- * @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();
- //监听提交
- form.on('submit(formFilter)', function(data){
- initPage();
- return false;
- });
- });
- });
四、懂 jquery 插件封装的大神可以将其封装成独立的分页插件,这样更加容易使用。我表示不太懂,^_^
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
©Copyright 蕃薯耀 2017年8月1日
http://www.cnblogs.com/fanshuyao/
LayUI分页,LayUI动态分页,LayUI laypage分页,LayUI laypage刷新当前页的更多相关文章
- 在分页中,删除操作后,AJAX重载刷新当前页
需求 分页中,在 删除 和 编辑 完成后,AJAX重载刷新 当前页 ,而不是跳转到 第一页 实现步骤 添加两个的 input 控件,用来存储 当前页数 和 记录总条数(非必须,能有方法获取到这两个值即 ...
- layui 通过laytpl模板,以及laypage分页实现
一.引用js依赖 jquery-1.11.3.min.js , layui.all.js, json2.js 二.js分页方法封装(分页使用模板laytpl) 1.模板渲染 /** * 分页模板的渲 ...
- layui结合mybatis的pagehelper插件的分页通用的方法
总体思路: 1.前台查询的时候将当前页和页大小传到后台 2.后台将当前页,页大小以及数据与数据总数返回前台,前台显示完表格完数据之后显示分页插件. 前台页面: 准备查询条件的表单,与数据表格,分页di ...
- 拿来主义:layPage分页插件的使用
布衣之谈 所谓插件,大概就是项目中可插可拔的比较小功能化的组件:这些功能组件若能力可及,自己也可以完成——也即自己造轮子,但翻看各种技术社区,相关领域的神人们往往会有更好的实现方案贡献出来,这个时候你 ...
- 基于layui,Jquery 表格动态编辑 设置 编辑值为 int 或者 double 类型及默认值
首先先推荐大家在看这篇笔记时,阅读过我写的这篇 Layui表格编辑[不依赖Layui的动态table加载] 阅读过上面那篇笔记之后呢,才能更好的理解我现在所要说的这个东西 接下来废话不多说,上代码. ...
- 动态多条件查询分页以及排序(一)--MVC与Entity Framework版url分页版
一.前言 多条件查询分页以及排序 每个系统里都会有这个的代码 做好这块 可以大大提高开发效率 所以博主分享下自己的6个版本的 多条件查询分页以及排序 二.目前状况 不论是ado.net 还是EF ...
- laypage分页控件使用方法
laypage是一款非常简单易用的分页控件,由于最近项目中使用到了,简单记录一下使用方法 1.引入laypage所需的js和css文件 <link href="js/laypage/1 ...
- easyui combogrid下拉表格的分页/按键/动态搜索
作者:xfl4629712 < easyui combogrid下拉表格的分页/按键/动态搜索 > 需求: 1.下拉框下拉时出现表格: 2.表格带分页功能: 3.可以使用向上键.向下 ...
- SPA项目开发之动态树+数据表格+分页
SPA项目开发之动态树+数据表格+分页 动态生成NavMenu导航菜单(只支持2级菜单) <el-menu key="" index=""> < ...
随机推荐
- 假如时光倒流,我会这样学习Java
回头看看, 我进入Java 领域已经快15个年头了, 虽然学的也一般, 但是分享下我的心得,估计也能帮大家少走点弯路. [入门] 我在2001年之前是C/C++阵营, 有C和面向对象的基础, 后来转到 ...
- dd的用法
1.生成一个空的,大小为1G的文件(有洞的文件)$ dd if=/dev/zero of=winxp.img bs=1k seek=1024k count=1 2.读软盘,并以16进制保存到文件中#d ...
- PHP 判断是否包含在某个字符串中
1.用strpos函数,查找字符首次出现的位置,如果不存在则会返回false$str= 'abc';$needle= 'e';$pos = strpos($str, $needle);2.用strst ...
- Github站点英文翻译
1.Github首页 Pull requests Issues Gist 请求 问题 要点 ----------------------------------------------------- ...
- h5之scrollIntoView控制页面元素滚动
如果滚动页面也是DOM没有解决的一个问题.为了解决这个问题,浏览器实现了一下方法,以方便开发人员如何更好的控制页面的滚动.在各种专有方法中,HTML5选择了scrollIntoView()作为标准方法 ...
- Reids命令解析-RENAME
有一天开发突然照过来问,维萨我这个Redis实例这么慢呢?为什么这么慢,于是连上实例SLOWLOG 一看,这些慢日志都是大部分是RENMAE操作导致的,可是为什么RENAME操作会慢呢?不就是改个名字 ...
- 【LeetCode】258. Add Digits
题目: Given a non-negative integer num, repeatedly add all its digits until the result has only one di ...
- 【Android Developers Training】 70. 使用ViewPager实现屏幕滑动
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 利用MUI滑动进行利息计算(移动端APP显示)
在开发移动端的应用时,会用到很多的手势操作,比如滑动.长按等,为了方便开放者快速集成这些手势,mui内置了常用的手势事件,其中滑动应用是比较常见的应用操作,本篇文章将讲述如何利用滑动改变对应值进行计算 ...
- iOS 手机时区获取问题
1. 标准的获取时区的正确方法 [NSTimeZone resetSystemTimeZone]; // 重置手机系统的时区 NSInteger offset = [NSTimeZone loca ...