要实现多重筛选效果,可以使用HTML、CSS和JavaScript,以下是一个简单的示例:
(图片来源网络,侵删)
1、创建一个HTML文件,添加一个表格和一个筛选容器,在筛选容器中,为每个筛选条件添加一个输入框和一个标签。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF8"> <meta name="viewport" content="width=devicewidth, initialscale=1.0"> <title>多重筛选示例</title> <style> .filter { display: flex; marginbottom: 10px; } .filter label { marginright: 10px; } </style> </head> <body> <div class="filter"> <label for="category">类别:</label> <input type="text" id="category" placeholder="请输入类别"> </div> <div class="filter"> <label for="price">价格:</label> <input type="number" id="price" placeholder="请输入价格"> </div> <table id="dataTable"> <thead> <tr> <th>名称</th> <th>类别</th> <th>价格</th> </tr> </thead> <tbody> <!数据行 > </tbody> </table> <script src="script.js"></script> </body> </html>
2、接下来,创建一个名为script.js
的JavaScript文件,编写筛选逻辑,在这个示例中,我们将根据用户输入的类别和价格对表格数据进行筛选。
document.addEventListener('DOMContentLoaded', function () { const data = [ { name: '商品1', category: '电子产品', price: 1000 }, { name: '商品2', category: '家居用品', price: 200 }, { name: '商品3', category: '电子产品', price: 3000 }, { name: '商品4', category: '家居用品', price: 500 }, ]; const tableBody = document.querySelector('#dataTable tbody'); const categoryInput = document.querySelector('#category'); const priceInput = document.querySelector('#price'); function renderTableData(filteredData) { tableBody.innerHTML = ''; filteredData.forEach(item => { const row = document.createElement('tr'); row.innerHTML = ` <td>${item.name}</td> <td>${item.category}</td> <td>${item.price}</td> `; tableBody.appendChild(row); }); } function filterData() { const category = categoryInput.value.trim(); const price = parseInt(priceInput.value, 10); const filteredData = data.filter(item => { return (!category || item.category === category) && (!price || item.price <= price); }); renderTableData(filteredData); } categoryInput.addEventListener('input', filterData); priceInput.addEventListener('input', filterData); filterData(); // 初始化筛选结果 });
这个示例中,我们首先定义了一个包含数据的数组,我们为筛选容器中的输入框添加了事件监听器,当用户输入时,会触发filterData
函数。filterData
函数会根据用户输入的类别和价格对数据进行筛选,并调用renderTableData
函数更新表格内容。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)