layui实现数据表格检索(亲测可用)

背景:发现layui有很多现成的插件,本人前端非常差,所以为了方便接私活,就开始学习使用layui。近期做到数据表格时,无论如何都无法实现对某个字段进行检索,按照文档来了还是不行,通过百度等不同手段不断尝试后,终于弄出来了,再次分享一下。

先展示效果:

然后对【商品名】进行检索

对“蛋糕”进行检索得出的结果。

源码如下:

1、html页面

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Layui</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <!-- 注意,这里要改成自己本地的layui css相应的目录!!!!!!-->
    <link rel="stylesheet" href="js/layui/css/layui.css" media="all">
    <!-- 注意:如果你直接复制所有代码到本地,上述css路径需要改成你本地的 -->
</head>
<body>

<div class="demoTable">
    商品名:
    <div class="layui-inline">
        <input class="layui-input" name="productId" id="demoReload" autocomplete="off">
    </div>
    <button class="layui-btn" data-type="reload">搜索</button>
</div>

<table class="layui-hide" id="LAY_table_user" lay-filter="user"></table>

<!-- 注意,这里要改成自己本地的layui js相应的目录!!!!!!-->
<script src="js/layui/layui.js"></script>
<!-- 注意:如果你直接复制所有代码到本地,上述js路径需要改成你本地的 -->
<script>
    layui.use('table', function(){
        var table = layui.table;

        //方法级渲染
        table.render({
            elem: '#LAY_table_user'
            ,url:'/product/getProductList_v1'
            ,cols: [[
                {field:'productId', width:80, title: '商品ID', sort: true}
                ,{field:'productName', width:100, title: '商品名'}
                ,{field:'img', width:100, title: '图片'}
                ,{field:'sort', width:100, title: '排序'}
                ,{field:'description', width:100, title: '描述'}
           
            ]]
            ,id: 'testReload'
            ,page: true
            ,height: 310
        });

        var $ = layui.$, active = {
            reload: function(){
                debugger
                var demoReload = $('#demoReload');
                var val = demoReload.val();
                //执行重载
                table.reload('testReload', {
                    page: {
                        curr: 1 //重新从第 1 页开始
                    }
                    ,where: {
                   <!--注意这里,官方文档还包含一层key,在这里翻车了,我这里把它去掉了 -->
                        productName: demoReload.val().trim() 
                    }
                }, 'data');
            }
        };

        $('.demoTable .layui-btn').on('click', function(){
            var type = $(this).data('type');
            active[type] ? active[type].call(this) : '';
        });
    });
</script>

</body>
</html>

2、后台java部分(用spring+springMVC)

 @RequestMapping("/getProductList_v1")
    @ResponseBody
    public Msg getProductList_v1(@RequestParam(value = "productName",required = false) String productName,
                                 @RequestParam (value="page") String pageno,
                                 @RequestParam (value="limit") String pagesize){
        //该打印语句主要为了测试是否成功拿到相应的值
        System.out.println("productName = [" + productName + "], pageno = [" + pageno + "], pagesize = [" + pagesize + "]");
        Msg msg = new Msg();
        Product product = new Product();
        product.setProductName(productName);
        List<Product> productList = productSerice.getProductList(product);
        msg.setCode("0");
        msg.setData(productList);
        return msg;
    }

完毕!!

测试看看后台是否来到前端传来的值

如上图,成功拿到传来的productname值了。

这个页面参考了很多码友的代码,所以非常感谢他们的分享。如果我的文章对你们有帮助,欢迎点赞!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值