Я пытаюсь создать фильтр для своей таблицы, элементы таблицы динамически вставляются путем чтения из базы данных firebase.
У меня есть следующий вход, который я хочу использовать в качестве фильтра для моей таблицы:
<input type="number" id = "myInput" onkeyup="checkLoad()" placeholder="Search for Job Number">
и следующее соответствует соответствующей функциональности javascript:
function checkLoad(){
window.addEventListener('load',Loaded,false);
}
// every key up not entering loaded
function Loaded(){
var input = document.getElementById("myInput");
var filter = input.value.toUpperCase();
var table = document.getElementById("myTable");
var tr = table.getElementsByTagName("tr");
var td, textValue;
// loop through tr and hide ones which do not match query
for(var i = 0; i < tr.length; i++){
td = tr[i].getElementsByTagName("td")[0];
if (td) {
txtValue = td.textContent || td.innerText;
if (txtValue.toUpperCase().indexOf(filter) > -1) {
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
}
Теперь у меня не всегда был триггер onkeyup функции checkLoad (), который раньше был функцией Loaded, называемой Filter() и onkeyup я вызвал Filter (), но это дало мне нулевую ошибку.
Теперь я не получаю нулевую ошибку, но я добавил простую инструкцию console.log в функцию Loaded и похожекак будто я вообще не вхожу в метод Loaded.