【Layui】带查询条件的分页

author:咔咔

wechat:fangkangfk

这个前端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')}" class="layui-btn layui-btn-primary j-iframe"><i class="layui-icon">&#xe654;</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.onload= 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:;" 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:;" 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:;" 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:;" 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
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 实现 springboot 和 layui 表格分页的步骤如下: 1. 前端页面:在使用 layui 表格的页面引入 layui.js 和 layui.css 文件。 2. 后端代码:使用 springboot 构建后端服务,通过 HTTP 请求向前端发送数据。 3. 分页参数:在前端页面,使用 layui table 控件定义分页参数,例如:每页显示数量、当前页码等。 4. 分页请求:使用 layui table 控件发送请求到后端,后端通过分页参数从数据库中查询相应的数据并返回给前端。 5. 表格渲染:前端接收到后端返回的数据,使用 layui table 控件将数据渲染到表格中,实现表格分页功能。 6. 翻页事件:使用 layui table 控件监听翻页事件,在事件触发时重新发送请求到后端,实现下一页或上一页的数据加载。 希望以上步骤能帮助您实现 springboot 和 layui 表格分页。 ### 回答2: 在SpringBoot和Layui实现表格分页的过程中,可以通过以下步骤实现: 1. 在后端代码中,首先引入Layui的DataTable插件,使用Layui提供的数据表格组件实现分页效果。 2. 在后端代码中,通过SpringBoot的控制器(Controller)接收前端传递的分页参数,例如当前页码(page)和每页显示数量(limit)。 3. 在后端代码中,根据接收到的分页参数,利用数据库查询语句查询数据表中的数据,并根据传递的分页参数进行分页操作。 4. 将查询到的分页数据返回给前端。 5. 在前端代码中,使用Layuitable模块生成表格,并设置分页参数。 6. 通过JavaScript在前端代码中调用Layuitable模块提供的分页方法,根据后端返回的分页数据动态生成分页组件。 7. 在前端代码中,利用JavaScript将查询到的数据填充到表格的相应位置。 总结来说,SpringBoot和Layui实现表格分页的核心是后端对分页参数的接收和数据的分页操作,以及前端对后端返回的分页数据的处理和分页组件的生成。通过这样的操作,可以实现便捷的表格分页功能。 ### 回答3: 在Spring Boot和Layui结合使用时,实现表格分页可以通过以下步骤来实现: 1. 在后端使用Spring Boot开发接口,查询数据库获取分页数据。可以使用Spring Data JPA或MyBatis等持久层框架进行数据库操作。 2. 定义一个Java类来表示表格数据的结果集,包含总记录数和当前页数据列表。 3. 在后端接口中,根据前端传递的页码和每页显示的记录数,通过查询条件进行筛选,并使用分页查询语句获取对应页码的数据。 4. 将查询结果封装到步骤2中定义的实体类中,并返回给前端。 5. 在前端的HTML页面中引入Layui框架的相关CSS和JS文件。 6. 在HTML页面中使用Layui提供的表格组件,结合异步加载数据的方式进行数据展示和分页操作。 7. 在Layui的表格组件中,配置分页参数,包括每页显示的记录数、总记录数以及分页样式等。 8. 在Layui的表格组件的回调事件中,监听分页操作,并通过Ajax请求后端接口获取指定页的数据,并将返回的数据展示到表格中。 通过以上步骤,可以实现Spring Boot和Layui结合使用的表格分页功能。需要注意的是,在后端接口中,除了分页查询外,还需要进行条件查询、排序等操作,以满足不同的业务需求。同时,前端页面中还可以添加筛选条件、搜索功能等,以提高用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咔咔-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值