在一个搜索框内输入关键字,表格的内容进行即时的筛选
时间: 2024-04-30 19:24:09 浏览: 6
这个功能可以通过前端的JavaScript实现。具体步骤如下:
1. 在HTML中创建一个搜索框和一个数据表格。
2. 监听搜索框的输入事件,当用户输入内容时,触发一个函数。
3. 在函数中,获取搜索框中的关键字,并遍历数据表格中的每一行。
4. 对于每一行,获取其所有单元格的文本内容,并与搜索框中的关键字进行比较。
5. 如果某一行的所有单元格中都包含了关键字,那么就显示这一行,否则就隐藏它。
6. 最后,更新表格的显示状态,使得只有符合条件的行被显示出来。
下面是一个简单的示例代码,可以根据需要进行修改和扩展:
HTML代码:
```
<input type="text" id="search-box" placeholder="请输入关键字">
<table id="data-table">
<thead>
<tr>
<th>名称</th>
<th>价格</th>
<th>库存</th>
</tr>
</thead>
<tbody>
<tr>
<td>苹果</td>
<td>5元/斤</td>
<td>100斤</td>
</tr>
<tr>
<td>香蕉</td>
<td>3元/斤</td>
<td>50斤</td>
</tr>
<tr>
<td>橘子</td>
<td>4元/斤</td>
<td>80斤</td>
</tr>
</tbody>
</table>
```
JavaScript代码:
```
// 获取搜索框和数据表格
var searchBox = document.getElementById('search-box');
var dataTable = document.getElementById('data-table');
// 监听搜索框的输入事件
searchBox.addEventListener('input', function() {
// 获取关键字,并转换为小写字母
var keyword = searchBox.value.toLowerCase();
// 遍历数据表格中的每一行
for (var i = 1; i < dataTable.rows.length; i++) {
var row = dataTable.rows[i];
var cells = row.cells;
var match = false;
// 对于每一行,遍历其所有单元格
for (var j = 0; j < cells.length; j++) {
var cellText = cells[j].textContent.toLowerCase();
// 如果该单元格包含关键字,则标记为符合条件
if (cellText.indexOf(keyword) >= 0) {
match = true;
break;
}
}
// 根据是否符合条件来显示或隐藏该行
if (match) {
row.style.display = '';
} else {
row.style.display = 'none';
}
}
});
```