나는 여러 개의 큰 테이블이있는 페이지에서 작업하고 있습니다. 내가 발견하고 테이블의 모든 셀이 스크립트 필터를 적용을 필터링하려면 여기JS로 여러 HTML 테이블 필터링
<script>
function searchtable() {
var input, filter, table, tr, td, i;
input = document.getElementById("myInput");
filter = input.value.toUpperCase();
table = document.getElementById("myTable");
tr = table.getElementsByTagName("tr");
th = table.getElementsByTagName("th");
for (i = 1; i < tr.length; i++) {
if (!tr[i].classList.contains('header')) {
td = tr[i].getElementsByTagName("td"),
match = false;
for (j = 0; j < td.length; j++) {
if (td[j].innerHTML.toUpperCase().indexOf(filter) > -1) {
match = true;
break;
}
}
if (!match) {
tr[i].style.display = "none";
} else {
tr[i].style.display = "";
}
}
}
}
</script>
문제는 만 페이지의 첫 번째 테이블이 아닌 다른 사람의 코드가 작동. 모든 테이블마다 맞춤 스크립트를 반복하지 않는 편이 낫습니다. 스크립트를 개인화하여 여러 테이블에서 조회하는 방법에 대한 제안 사항이 있습니까?
편집 : 동일한 작업을 수행하는 다른 스크립트를 알고 있습니까?
이 들어있는
<thead>
내부<tr>
요소 atatched되어 있으리라 믿고있어. 당신이 만약 테이블에 객체 또는 배열 또는 그 안에 들어있는 데이터를 갖기 위해서는 배열 메소드를 사용하여 배열을 더 적합하게 만든 다음 테이블을 다시 렌더링하면됩니다.하지만 주제에 대해서는 모든 것을 매개 변수화 할 수 있으므로 함수는 'myInput' 및 'myTable'ids :'function searchTable (tableId) {}'다음에 각 테이블에 대해 올바른 ID가있는 이벤트 – Shilly@S hilly 배열 방법을 시도해 보겠습니다. 불행히도 나는 지금 그것을 할 수 없다. 나는 당신의 제안 (배열 방법의 사용과 ID의 사용)에 정말로 감사드립니다. 더 이상 제안이 있습니까? –
자바 스크립트를 배우려고 하시거나 작업 코드가 필요합니까? 솔루션이 있지만 더 이상 코드를 인식하지 못합니다. – Shilly