我一次只搜索两列,并没有给我正确的结果。 问题是他们互相覆盖。我将不胜感激任何有关如何仅将第二个过滤器应用于第一个过滤器的结果的建议,而不是整个数据集。
谢谢! 这是输入类型
<input type="text" id="myInput" onkeyup="myFunction()" placeholder="Search for names.." title="Type in a name">
<input type="text" id="myInput1" onkeyup="myFunction1()" placeholder="Search for country.." title="Type in a country">
这是剧本:
function myFunction1() {
var input, filter, table, tr, td, i;
input document.getElementById("myInput1") filter = input.value.toUpperCase();
table = document.getElementById("myTable");
tr = table.getElementsByTagName("tr");
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";
}
}
}
}
function myFunction() {
var input, filter, table, tr, td, i;
input document.getElementById("myInput") filter = input.value.toUpperCase();
table = document.getElementById("myTable");
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";
}
}
}
}