我有一个记录表,在它上面有一个文本字段,它动态地过滤特定表列上的记录。我按照这个简单的How-To https://www.w3schools.com/howto/howto_js_filter_table.asp实现了它
现在,这可以像广告中所说的那样工作,但我希望对其进行修改,以便筛选器可以查看所有列,而不仅仅是其中的一列。在How-To中的示例中,我希望能够键入一个名称或国家,并返回所有匹配项。我试着在JavaScript中这样做:
function myFunction() {
// Declare variables
var input, filter, table, tr, td, i;
input = document.getElementById("myInput");
filter = input.value.toUpperCase();
table = document.getElementById("myTable");
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++) {
for (j = 0; j < tr.width; j++) {
td = tr[i].getElementsByTagName("td")[j];
if (td) {
if (td.innerHTML.toUpperCase().indexOf(filter) > -1) {
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}}}}}
J变量是我希望另外循环遍历每个i的列的地方,但这样做似乎会破坏过滤功能,即。键入任何内容都不会影响显示的记录-所有记录都会一直显示。谁能告诉我我哪里做错了?
https://stackoverflow.com/questions/52672345
复制相似问题