複数の要素を表示するためにこの検索バーのための方法があるのだろうかと思います。 "321" "1234" "123" "12345"のプールで "123"を検索すると今のように表示されます。表示される値は「1234」だけです。検索結果と一致するすべての値が表示されるようにしたいので、正しい検索結果が表示されます: "1234" "123" "12345"テーブル検索で複数のセルを表示する方法
いずれの回答もありがとうございます。
ここで私が持っている現在のコードです:
var cells = document.querySelectorAll("#myTable td");
var search = document.getElementById("myInput");
search.addEventListener("keyup", function() {
if (search.value.length > 0 && search.value != '') {
for (var i = 0; i < cells.length; ++i) {
if (cells[i].textContent.toLowerCase().indexOf(search.value.toLowerCase()) === 0) {
cells.forEach(function(element) {
element.style.display = "none";
});
cells[i].style.display = "table-cell";
break;
} else {
cells.forEach(function(element) {
if (cells[i] !== element) {
element.style.display = "table-cell";
}
});
}
}
} else {
cells.forEach(function(element) {
if (cells[i] !== element) {
element.style.display = "table-cell";
}
});
}
});
<input id="myInput">
<table id="myTable">
<tr>
<td>321</td>
<td>123</td>
</tr>
<tr>
<td>1234</td>
<td>abc</td>
</tr>
<tr>
<td>12345</td>
<td>abcde</td>
</tr>
</table>
にテストすることができます1で始まるものではなく、1で始まる? – SchwiftyTV
-1を0に変更しました。これだけです! – Mouser
私のプロジェクトでこれまでのところ素晴らしいことですが、最後の1つです。 "abcde"を検索すると結果は表示されますが問題はありませんが、 "abc"に戻っていっても "abcde"しか表示されません。私が持っている現在のコードでこれを修正することは可能でしょうか? – SchwiftyTV