在HTML中搜索表中的数据可以通过以下步骤实现:
<table>
创建一个表格,并使用 <tr>
和 <td>
标签创建行和单元格。<input>
标签创建一个文本输入框,并设置一个唯一的ID。oninput
事件监听输入框的变化。querySelectorAll
方法选择所有的表格行,并使用 forEach
方法遍历每一行。querySelector
方法选择每一行中的单元格,并使用 textContent
属性获取单元格中的文本内容。indexOf
方法判断是否包含输入框的值。display
属性将匹配的行显示出来,或者使用其他样式进行标记。以下是一个示例代码:
<!DOCTYPE html>
<html>
<head>
<title>搜索表格数据</title>
<style>
.hidden {
display: none;
}
</style>
</head>
<body>
<input type="text" id="searchInput" oninput="searchTable()">
<table id="dataTable">
<tr>
<th>姓名</th>
<th>年龄</th>
<th>城市</th>
</tr>
<tr>
<td>张三</td>
<td>25</td>
<td>北京</td>
</tr>
<tr>
<td>李四</td>
<td>30</td>
<td>上海</td>
</tr>
<tr>
<td>王五</td>
<td>28</td>
<td>广州</td>
</tr>
</table>
<script>
function searchTable() {
var input = document.getElementById("searchInput");
var filter = input.value.toUpperCase();
var table = document.getElementById("dataTable");
var rows = table.getElementsByTagName("tr");
for (var i = 0; i < rows.length; i++) {
var cells = rows[i].getElementsByTagName("td");
var found = false;
for (var j = 0; j < cells.length; j++) {
var cell = cells[j];
if (cell.textContent.toUpperCase().indexOf(filter) > -1) {
found = true;
break;
}
}
if (found) {
rows[i].style.display = "";
} else {
rows[i].style.display = "none";
}
}
}
</script>
</body>
</html>
这段代码创建了一个包含姓名、年龄和城市的表格,并在表格上方添加了一个搜索框。当用户在搜索框中输入内容时,JavaScript函数 searchTable()
将会被触发。函数会遍历表格中的每一行,并将输入框的值与每一行的单元格进行比较。如果找到匹配的内容,对应的行将会显示出来,否则将会隐藏起来。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云