我在这个Fiddle 中有下表。
如您所见,是一个每行两列的表,将来会更新该表,增加更多的两行列。
我的目标是使用搜索过滤器在表格顶部显示行。您可以在 Fiddle 中看到此功能。如果您键入:“每周”,将出现“每日”和“每周”行。但首先是每日,而不是每周。
但是我想要的是每次找到带有某个单词的单元格时,我都希望它出现在表格的第一个单元格中。在这种情况下,如果我搜索“每周”,我希望在第一行的第一个单元格中进行搜索。
我怎样才能用 JavaScript 做到这一点?在这里,我将让我的 Javascript 代码(也在 Fiddle 中):
function search() {
var input, checkfilter, 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")[0];
td1 = tr[i].getElementsByTagName("td")[1];
if (td || td1) {
if (td.innerHTML.toUpperCase().indexOf(filter) > -1
|| td1.innerHTML.toUpperCase().indexOf(filter) > -1){
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
}
非常感谢您的帮助。我非常感谢在 Stackoverflow 中所做的工作。
我不明白你是在问问题还是在提出解决方案?
getElementById('foobar')
是一种在 DOM 中操作对象的方法。例如,这是我用来快速设置 PR 模板的东西:
function () {
var e = document.getElementById('pull_request_body');
if (e) {
e.value += 'Insert pull request template here';
}
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句