私はHtmlで大きな複数のテーブルを持つページに取り組んでいます。 は、私が発見し、テーブルのすべてのセルのために、このスクリプトフィルタを適応し、それらをフィルタリングするには:ここ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私はアレイメソッドを試してみよう。残念ながら今はできません。私はあなたの提案(配列メソッドの使用とIDの使用の両方)に本当に感謝しています。それ以上の提案はありますか? –
JavaScriptを学ぼうとしているのですか、または作業コードが必要ですか?私は解決策を持っていますが、あなたのコードはもう認識できません。 – Shilly