背景:发现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值了。
这个页面参考了很多码友的代码,所以非常感谢他们的分享。如果我的文章对你们有帮助,欢迎点赞!