layui表格单列进行筛选过滤
时间: 2023-09-06 20:11:00 浏览: 1308
在 layui 表格中进行单列筛选过滤操作,可以使用表格的 filter 方法。具体实现步骤如下:
1. 在表格的渲染参数中,添加 filter 参数,用于指定需要进行筛选的列。
```javascript
table.render({
elem: '#testTable',
url: '/demo/table/user/',
toolbar: '#toolbarDemo',
title: '用户数据表',
cols: [
[
{type: 'checkbox', fixed: 'left'},
{field: 'id', title: 'ID', width: 80, sort: true},
{field: 'username', title: '用户名', width: 120},
{field: 'email', title: '邮箱', width: 150},
{field: 'sign', title: '签名', minWidth: 200},
{field: 'sex', title: '性别', width: 80, sort: true},
{field: 'city', title: '城市', width: 100},
{field: 'experience', title: '积分', width: 80, sort: true},
{field: 'ip', title: 'IP', width: 120},
{field: 'logins', title: '登入次数', width: 100, sort: true},
{field: 'joinTime', title: '加入时间', width: 120},
{fixed: 'right', title: '操作', toolbar: '#barDemo', width: 150}
]
],
page: true,
filter: 'username' // 指定需要筛选的列为“用户名”
});
```
2. 在页面中添加筛选框,用于输入筛选条件。
```html
<div class="layui-inline">
<label class="layui-form-label">用户名</label>
<div class="layui-input-inline">
<input type="text" name="username" placeholder="请输入用户名" autocomplete="off" class="layui-input">
</div>
</div>
```
3. 在页面中绑定筛选框的 change 事件,获取输入的筛选条件,并调用表格的 filter 方法进行筛选操作。
```javascript
// 监听筛选框的 change 事件
form.on('select(filter)', function(data){
// 获取输入的筛选条件
var value = data.value;
// 调用表格的 filter 方法进行筛选操作
table.filter('testTable', {username: value});
});
```
完整示例代码如下:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>layui表格单列进行筛选过滤</title>
<link rel="stylesheet" href="https://cdn.staticfile.org/layui/2.5.6/css/layui.min.css">
</head>
<body>
<div class="layui-container" style="margin-top: 30px;">
<div class="layui-row">
<div class="layui-col-md12">
<table id="testTable" lay-filter="testTable"></table>
</div>
</div>
</div>
<script src="https://cdn.staticfile.org/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/layui/2.5.6/layui.min.js"></script>
<script>
layui.use(['table', 'form'], function(){
var table = layui.table,
form = layui.form;
// 渲染表格
table.render({
elem: '#testTable',
url: '/demo/table/user/',
toolbar: '#toolbarDemo',
title: '用户数据表',
cols: [
[
{type: 'checkbox', fixed: 'left'},
{field: 'id', title: 'ID', width: 80, sort: true},
{field: 'username', title: '用户名', width: 120},
{field: 'email', title: '邮箱', width: 150},
{field: 'sign', title: '签名', minWidth: 200},
{field: 'sex', title: '性别', width: 80, sort: true},
{field: 'city', title: '城市', width: 100},
{field: 'experience', title: '积分', width: 80, sort: true},
{field: 'ip', title: 'IP', width: 120},
{field: 'logins', title: '登入次数', width: 100, sort: true},
{field: 'joinTime', title: '加入时间', width: 120},
{fixed: 'right', title: '操作', toolbar: '#barDemo', width: 150}
]
],
page: true,
filter: 'username' // 指定需要筛选的列为“用户名”
});
// 监听筛选框的 change 事件
form.on('select(filter)', function(data){
// 获取输入的筛选条件
var value = data.value;
// 调用表格的 filter 方法进行筛选操作
table.filter('testTable', {username: value});
});
});
</script>
<!-- 筛选框 -->
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<div class="layui-inline">
<label class="layui-form-label">用户名</label>
<div class="layui-input-inline">
<input type="text" name="username" placeholder="请输入用户名" autocomplete="off" class="layui-input">
</div>
</div>
<button class="layui-btn" lay-event="reload">搜索</button>
</div>
</script>
</body>
</html>
```
阅读全文