【发布时间】:2017-10-27 10:52:18
【问题描述】:
我的应用程序中有以下 Html 表
<table class="table table-striped table-hover table-bordered" id="sample_editable_1">
<thead>
<tr>
<th>Id</th>
<th>User Name</th>
<th>First Name</th>
<th>Last Name</th>
<th>Phone Number</th>
<th>Gender</th>
</tr>
</thead>
<tbody>
@foreach($user as $users)
<tr>
<td>{{$users['id']}}</td>
<td>{{$users['user_name']}}</td>
<td>{{$users['first_name']}}</td>
<td>{{$users['last_name']}}</td>
<td>{{$users['phone_no']}}</td>
<td>{{$users['gender']}}</td>
@endforeach
</tbody>
</table>
我已经编写了以下 JavaScript 用于在此表中进行搜索
<script>
function myFunction() {
var input, filter, table, tr, td, i;
input = document.getElementById("myInput");
filter = input.value.toUpperCase();
table = document.getElementById("sample_editable_1");
tr = table.getElementsByTagName("tr");
for (i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td")[1];
if (td) {
if (td.innerHTML.toUpperCase().indexOf(filter) > -1) {
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
}
</script>
此特定代码适用于单个索引,例如 td = tr[i].getElementsByTagName("td")[0] 或 [1] 我怎么能使其适用于任何用户搜索表都应显示与输入匹配的所有内容的场景?
【问题讨论】:
-
请点击
<>sn-p 编辑器并用相关的 HTML 和搜索字段替换模板 -
您需要获取所有 td 并将它们放入
array/object,这样您就可以像使用tr一样遍历它们
标签: javascript html