【发布时间】:2018-07-12 03:26:40
【问题描述】:
我目前有一个表格,它通过每个表格的一列进行过滤和搜索,但是我不确定如何编辑我的函数以便将搜索应用于表格的所有列。 这是我的功能,也是我的一张桌子:
function myFunction(){
var td, i;
var input = document.getElementById("myInput");
var filter = input.value.toUpperCase();
var table = document.getElementById("myTable");
var tr = table.getElementsByTagName("tr");
// Loop through all table rows, and hide those who don't match the search query
for (i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td")[0];
if (td) {
if (td.innerHTML.toUpperCase().indexOf(filter) > -1 ) {
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
}
<table className="table table-bordered" id="table2a">
<tbody>
<tr><th> Consumer System: </th>
<td>System1 </td>
<td>System2 </td>
</tr>
<tr>
<th>Consumer Dev App Name: </th>
<td> To be on-boarded </td>
<td> To be on-boarded </td>
</tr>
<tr>
<th> Contact Email Distribution </th>
<td>TBD </td>
<td> TBD </td>
</tr>
</tbody>
</table>
【问题讨论】:
-
在你的外部 for 循环中,你需要用一个内部循环替换这一行
td = tr[i].getElementsByTagName("td")[0];以遍历<tr>中的所有<td>元素 -
for(j = 0; j < td.length; j++)是这样的你在说什么? @mjw
标签: javascript css html-table