Layui实现带查询条件的分页

本文实例为大家分享了Layui实现带查询条件的分页,供大家参考,具体内容如下

这个前端UI框架是真的让人又爱又恨呐!想了很久的方案才行的通

这是全部源码:

{include file="../../../application/admin/view/public/head" /}

<div class="page-container p10">

  <form class="layui-form " method="post" id="pageListForm">
    <div class="layui-input-inline w150">
      <div class="layui-btn-group">
        <a data-full="1" data-href="{:url('addBanner')}" rel="external nofollow" class="layui-btn layui-btn-primary j-iframe"><i class="layui-icon"></i>添加广告</a>
      </div>

    </div>

    <div class="layui-input-inline w150">
      <select name="vt_id" class="vt_id">
        <option value="">视频类型</option>
        {foreach name='subject' item='v'}
        <option value="{$v['vt_id']}" >{$v['vt_name']}</option>
        {/foreach}
      </select>
    </div>

    <div class="layui-input-inline w150">
      <select name="b_targetType" class="b_targetType">
        <option value="">是否跳出</option>
        <option value="1">是</option>
        <option value="2">否</option>
      </select>
    </div>
    <div class="layui-input-inline">
      <input type="text" autocomplete="off" placeholder="请输入搜索条件" id="content" class="layui-input" name="b_title" value="">
    </div>

    <a class="layui-btn mgl-20 .j-kaka" id="query"> 查询</a>

    <table class="layui-table" lay-size="sm">
    <thead>
      <tr >
        <th width="25">ID</th>
        <th width="50">分类</th>
        <th width="100">对应视频</th>
        <th width="40">缩略图</th>
        <th width="80">点击url</th>
        <th width="30">排序</th>
        <th width="100">展示类型</th>
        <th width="100">是否跳出2是1否</th>
        <th width="100">标题</th>
        <th width="100">内容页模版</th>
        <th width="100">链接列表</th>
        <th width="130">操作</th>
      </tr>
    </thead>
      <tbody id="tab_list">

      </tbody>
    </table>
  </form>
</div>

<div id="pages" class="center"></div>

{include file="../../../application/admin/view/public/foot" /}

<script type="text/javascript">

  window.οnlοad= function () {
    loadData() //请求数据
    getPage()   //分页操作
  }
  var page=1; //设置首页页码
  var limit=3; //设置一页显示的条数
  var total;  //总条数
  function loadData(){
    $.ajax({
      type:"post",
      url:"{url(Banner/index)}",//对应controller的URL
      async:false,
      dataType: 'json',
      data:{
        "page_index":page,
        "page_size":limit,
      },
      success:function(ret){
        total=ret.total_count;

        var data1=ret.data;
        var html= '';
        for(var i=0;i<data1.length;i++){
          html+='<tr>';
          html+='<td>'+ data1[i].b_id +'</td>';
          html+='<td>'+ data1[i].b_id +'</td>';
          html+='<td>'+ data1[i]['banner_vs_video_name']['vi_title'] +'</td>';
          html+='<td>'+ data1[i]['b_thumbnailUrl'] +'</td>';
          html+='<td>'+ data1[i]['b_linkUrl'] +'</td>';
          html+='<td>'+ data1[i]['b_sort'] +'</td>';
          html+='<td>'+ data1[i]['b_showType'] +'</td>';
          html+='<td>'+ data1[i]['b_targetType'] +'</td>';
          html+='<td>'+ data1[i]['b_title'] +'</td>';
          html+='<td>'+ data1[i]['b_slaveTitle'] +'</td>';
          html+='<td>'+ data1[i]['b_linkUrlList']+'</td>';
          html+='<td>';
          html+='<a class="layui-badge-rim j-iframe" data-full="1" data-href='+ROOT_PATH+'/index.php/admin/banner/editBanner?b_id='+data1[i]['b_id']+' href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" title="编辑">编辑</a>';
          html+='<a class="layui-badge-rim j-tr-del del" data-href='+ROOT_PATH+'/index.php/admin/banner/delBanner?b_id='+data1[i]['b_id']+' href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" title="删除">删除</a>';
          html+='</td>';

          html+='</tr>';
        }
        $("#tab_list").html(html);
      }
    });
  }

  // 查询
  $('#query').click(function(){
    var content = $('#content').val();
    var vt_id = $('.vt_id').val();
    var b_targetType = $('.b_targetType').val();

    if(!content && !vt_id && !b_targetType){
      layer.msg('查询条件不能为空');
      return false
    }

    $.ajax({
      type:"post",
      url:"{url(Banner/index)}",//对应controller的URL
      async:false,
      dataType: 'json',
      data:{
        "page_index":page,
        "page_size":limit,
        "b_title":content,
        "vt_id":vt_id,
        "b_targetType":b_targetType
      },
      success:function(ret){
        total=ret.total_count;
        getPage();

        var data1=ret.data;
        var html= '';
        for(var i=0;i<data1.length;i++){
          html+='<tr>';
          html+='<td>'+ data1[i].b_id +'</td>';
          html+='<td>'+ data1[i].b_id +'</td>';
          html+='<td>'+ data1[i]['banner_vs_video_name']['vi_title'] +'</td>';
          html+='<td>'+ data1[i]['b_thumbnailUrl'] +'</td>';
          html+='<td>'+ data1[i]['b_linkUrl'] +'</td>';
          html+='<td>'+ data1[i]['b_sort'] +'</td>';
          html+='<td>'+ data1[i]['b_showType'] +'</td>';
          html+='<td>'+ data1[i]['b_targetType'] +'</td>';
          html+='<td>'+ data1[i]['b_title'] +'</td>';
          html+='<td>'+ data1[i]['b_slaveTitle'] +'</td>';
          html+='<td>'+ data1[i]['b_linkUrlList']+'</td>';
          html+='<td>';
          html+='<a class="layui-badge-rim j-iframe" data-full="1" data-href='+ROOT_PATH+'/index.php/admin/banner/editBanner?b_id='+data1[i]['b_id']+' href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" title="编辑">编辑</a>';
          html+='<a class="layui-badge-rim j-tr-del del" data-href='+ROOT_PATH+'/index.php/admin/banner/delBanner?b_id='+data1[i]['b_id']+' href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" title="删除">删除</a>';
          html+='</td>';

          html+='</tr>';
        }
        $("#tab_list").html(html);
      }
    });
  });

  function getPage(){
    layui.use('laypage', function(){
      var laypage = layui.laypage
        , layer = layui.layer;
      laypage.render({
        elem: 'pages'
        ,count: total //数据总数,从服务端得到
        ,limit:limit
        ,jump: function(obj, first){
          page=obj.curr; //改变当前页码
          limit=obj.limit;
          if(!first){
            loadData()
          }
        }
      });
    });
  }

  // 点击删除
  $(document).on('click','.del',function(){
    var that = $(this),
      href = !that.attr('data-href') ? that.attr('href') : that.attr('data-href');
    layer.confirm('删除之后无法恢复,您确定要删除吗?', {title:false, closeBtn:0}, function(index){
      if (!href) {
        layer.msg('请设置data-href参数');
        return false;
      }
      $.get(href, function(res){
        layer.msg(res.msg);
        if (res.code == 1) {
          that.parents('tr').remove();
        }
      });
      layer.close(index);
    });
    return false;
  })

  /**
   * 更改数据顺序
   */
  layui.use('laypage', function(){
    var laypage = layui.laypage
      , layer = layui.layer,
      $ = layui.$;

    $(document).on('blur','.sort',function(){
      var that = $(this),
        b_sort = that.val();
      var b_id = that.attr('b_id');

      $.post("{:url('banner/editSort')}",{b_sort:b_sort,b_id:b_id},function(res){
        if(res == 1){
          loadData()
        }
      });
    })
  });

</script>
</body>
</html> 

这个业务只有一个问题那就是button,我们需要把button的标签换了,换成a标签

还有一个点就是在点击查询后,获取的数据是根据条件查的,在把分页初始化一次即可

其余的操作跟做跟做分页是一样的

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

(0)

相关推荐

  • layui实现动态和静态分页

    开发管理后台是每一个开发人员都要熟悉的一个环节,作为后端程序员,公司的所有机密数据都掌握在我们手上,所以这个时候,如果不是公司的核心成员,是不能接触到某些数据的,这个时候所有的工作都落到了我们的手上,从PS到Linux都需要我们亲历亲为,还好发现了layui这个前端框架,很大程度上减轻了我们的压力. 今天我们先来学习一下layui实现动态数据表,静态数据表,以及表格的分页,其中还涉及到动态刷新数据表,数据表工具栏使用,表单提交等功能,这个静态分页同样适用在信息类网站,我的工作开发环境是debia

  • 深入理解jQuery layui分页控件的使用

    $.getJSON( )的使用方法简介 $.getJSON( url [, data ] [, success(data, textStatus, jqXHR) ] ) url是必选参数,表示json数据的地址: data是可选参数,用于请求数据时发送数据参数: success是可参数,这是一个回调函数,用于处理请求到的数据. //内容页面 <br> <div id="notice_div"></div><br> //分页控件 <d

  • 基于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.m

  • 基于LayUI实现前端分页功能的方法

    一.LayUI介绍 Layui 是一款采用自身模块规范编写的国产前端UI框架,遵循原生HTML/CSS/JS的书写与组织形式,门槛极低,拿来即用.内置了一些常用元素和组件的UI框架. 下载地址为http://www.layui.com/,下载后引入项目中. <link rel="stylesheet" href="${pageContext.request.contextPath}/css/layui/css/layui.css" rel="exte

  • layui分页效果实现代码

    本文实例为大家分享了layui分页效果的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>分页</title> <link rel="stylesheet" href="layui/css/layui.css" > </head> <body

  • Layui实现带查询条件的分页

    本文实例为大家分享了Layui实现带查询条件的分页,供大家参考,具体内容如下 这个前端UI框架是真的让人又爱又恨呐!想了很久的方案才行的通 这是全部源码: {include file="../../../application/admin/view/public/head" /} <div class="page-container p10"> <form class="layui-form " method="pos

  • 存储过程实现(可带查询条件/万能分页/通用)

    假设数据库中有张表,表名是UserName,字段分别是ID(int),Name(nvarchar),Age(int). 如果不带查询条件存储过程是: 复制代码 代码如下: CREATE PROCEDURE [dbo].[UserName] @pageIndex int, @pageSize int AS declare @min int; declare @max int; set @min=@pageSize*(@pageIndex-1)+1; set @max=@pageSize*@page

  • datatables 带查询条件java服务端分页处理实例

    使用datatables自带后台查询 前台代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" rel="external nof

  • JSP实现带查询条件的通用分页组件

    分页功能的代码就是这样的,在需要展示列表的页面,我们基本都需要加上分页功能,如果某天boss想要修改分页功能的样式,我们不能去一个一个的改吧. 下边给大家分享一个自己封装的通用分页组件. 1. 效果展示 2. 使用方式 1 )在需要显示分页信息的位置,直接引入pagination.jsp页面. <!-- 分页内容 --> <%@include file="/WEB-INF/decorators/pagination.jsp" %> <!-- 分页内容结束

  • Laravel实现ORM带条件搜索分页

    Laravel条件搜索一般使用where方法,如下: 查询构造器: $users = DB::table('users')->where('votes', '=', 100)->get(); 或者ORM: $users = User::where('votes', '=', 100)->all(); 当有多个条件时,可以多次调用where方法: $articles = Article::where('id','>','10')->where('is_auth','=','1'

  • Spring Data JPA 复杂/多条件组合分页查询

    话不多说,请看代码: public Map<String, Object> getWeeklyBySearch(final Map<String, String> serArgs, String pageNum, String pageSize) throws Exception { // TODO Auto-generated method stub Map<String,Object> resultMap=new HashMap<String, Object&

  • MVC+Bootstrap+Drapper使用PagedList.Mvc支持多查询条件分页

    前几天做一个小小小项目,使用了MVC+Bootstrap,以前做分页都是异步加载Mvc部分视图的方式,因为这个是小项目,就随便一点.一般的列表页面,少不了有查询条件,下面分享下Drapper+PagedList.Mvc支持多查询条件分页的使用经验. 在MVC中我们一般习惯使用强类型Model,通过分析Orders的展示页面,来构建这个Model. 1.查询参数的Model public class OrderQueryParamModel { /// <summary> /// 订单编号 //

  • JAVA代码实现MongoDB动态条件之分页查询

    一.使用QueryByExampleExecutor 1. 继承MongoRepository public interface StudentRepository extends MongoRepository<Student, String> { } 2. 代码实现 使用ExampleMatcher匹配器-----只支持字符串的模糊查询,其他类型是完全匹配 Example封装实体类和匹配器 使用QueryByExampleExecutor接口中的findAll方法 public Page&

  • mybatis-plus QueryWrapper自定义查询条件的实现

    mybatis-plus框架功能很强大,把很多功能都集成了,比如自动生成代码结构,mybatis crud封装,分页,动态数据源等等,附上官网链接https://mp.baomidou.com/,github上有代码例子,国内小伙伴推荐码云https://gitee.com/baomidou/mybatis-plus.  但是,其中还是有些小坑,文档也没有涉及的很全面,碰到问题,百度或者发issue,能力强的还是直接看源码好,一切答案都在源码中. 版本推荐用3.1.0,3.1.1及以上版本有bu

  • Mybatis 实现动态组装查询条件,仿SQL模式

    目的: 以前比较习惯使用Hibernate,后来觉得mybatis不能按我想要的自动组装为SQL查询条件,所以提供该工具类: 效果图: 如图所示,根据条件自动组装查询条件,下面来说一下实现方法: 1. ServiceImpl书写注意项 Page<SysLogin> resultPage = null; try { PageHelper.startPage(pager.getCurrentPage(), pager.getPageSize()); // 判断是否有分页 if (ObjectHel

随机推荐