私はHTMLテーブルを構築するためにPHPとMySQLを使用しています。 JavaScriptを使用してテーブルをフィルタリング/検索し、必要な結果だけを表示します。私は、JavaScriptの入力でテーブルの複数の<td>
を検索する必要があります。私はこれをうまく動作させることができましたが、大きなテーブルで適切に配置するための洗練されたソリューションではありません。JavaScriptシングル入力検索複数のhtmlテーブルの列
何が検索されているかを選択するには良い方法がありますが、何も見つかりませんでした。誰も私がこのコードをさまざまな列幅テーブルに対してより柔軟にする方法を知っていますか?
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")[0];
td1 = tr[i].getElementsByTagName("td")[1];
if (td+td1) {
if ((td.innerHTML.toUpperCase().indexOf(filter)+td1.innerHTML.toUpperCase().indexOf(filter)) > -2) {
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
}
<input type="text" id="myInput" onkeyup="myFunction()" placeholder="Search" title="Type in anything">
<table id="myTable">
<tr class="header">
<th style="width:60%;">Name</th>
<th style="width:40%;">Country</th>
</tr>
<tr>
<td>North/South</td>
<td>UK</td>
</tr>
<tr>
<td>Paris specialites</td>
<td>France</td>
</tr>
</table>
'JavaScriptを==セパレートJava' –
あなたの懸念!。与えられたデータに対してテーブルマークアップを作成する関数を作成し、データをフィルタリングする別の関数を作成し、最初の関数を使用してテーブルマークアップを新しいデータで置き換えます。 – sauntimo
カラム幅が検索機能にどのように適用されるかわかりません。セルの内容は重要であり、セルの幅ではありません。 –