【发布时间】:2018-07-12 23:59:56
【问题描述】:
我有一个包含多行和多列的表格。我编写了一个函数,该函数当前仅搜索表的第一列和最后一列,但是我不确定为什么会跳过中间列。我尝试添加另一个 for 循环并出现错误。
function function2(){
var input = document.getElementById("myInput");
var filter = input.value.toUpperCase();
var table = document.getElementById("table2c");
var tr = table.getElementsByTagName("tr");
var td, tdArr, i, j;
for (i = 0; i < tr.length; i++) {
tdArr = tr[i].getElementsByTagName("td");
for (j = 0; j < tdArr.length; j++){
td = tdArr [j];
if (td) {
if (td.innerHTML.toUpperCase().indexOf(filter) > -1 ) {
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
}
}
This is my table:
<table className="table table-bordered" id="table2c">
<tbody>
<tr>
<th> Header Name: </th>
<th> Description: </th>
<th> Value: </th>
</tr>
<tr>
<td> Authorization </td>
<td> security token </td>
<td> To be supplied </td>
</tr>
<tr>
<td> Content-Type </td>
<td> body of the request </td>
<td> applicaiton </td>
</tr>
<tr>
<td> API-KEY </td>
<td> ID </td>
<td> To be supplied </td>
</tr>
<tr>
<td> correlation </td>
<td> Unique identifier </td>
<td> e.g. control number </td>
</tr>
<tr>
<td> name </td>
<td> system name </td>
<td> One of: </td>
</tr>
</tbody>
</table>
【问题讨论】:
-
想要的结果是什么?隐藏所有没有搜索结果的行?
-
@NinaScholz 是的,这就是结果,它现在正在运行,但它只搜索第一列和最后一列,我也希望能够在中间列中搜索数据跨度>
标签: javascript css html-table