Wie man Tabellen filtern/throughsuchen kann

Lernen Sie, wie man mit JavaScript filterbare Tabellen erstellt.

Tabellen filtern

Wie man JavaScript verwendet, um spezifische Daten in Tabellen zu suchen.

Name Land
Alfreds Futtermannskiste Deutschland
Berglunds schnelle Kiste Schweden
Island Trading UK
Königlich Essen Deutschland
Laughing Bacchus Winecellars Kanada
Magazzini Alimentari Riuniti Italien
Nord/Süd UK
Paris specialites Frankreich

Versuchen Sie es selbst

Erstellen Sie eine filterbare Tabelle

Schritt 1 - Fügen Sie HTML hinzu:

<input type="text" id="myInput" onkeyup="myFunction()" placeholder="Nach Namen suchen..">
<table id="myTable">
  <tr class="header">
    <th style="width:60%;">Name</th>
    <th style="width:40%;">Land</th>
  </tr>
  <tr>
    <td>Alfreds Futterkiste</td>
    <td>Deutschland</td>
  </tr>
  <tr>
    <td>Berglunds snabbkop</td>
    <td> Schweden</td>
  </tr>
  <tr>
    <td>Island Trading</td>
    <td>UK</td>
  </tr>
  <tr>
    <td>Königlich Essen</td>
    <td>Deutschland</td>
  </tr>
</table>

Schritt 2 - Fügen Sie CSS hinzu:

Stellen Sie die Stile für das Eingabeelement und die Tabelle ein:

#myInput {
  background-image: url('/css/searchicon.png'); /* Suchsymbol im Eingabefeld hinzufügen */
  background-position: 10px 12px; /* Suchsymbol positionieren */
  background-repeat: no-repeat; /* Symbolbild nicht wiederholen */
  width: 100%; /* Volle Breite */
  font-size: 16px; /* Schriftgröße vergrößern */
  padding: 12px 20px 12px 40px; /* Einige Innenabstand hinzufügen */
  border: 1px solid #ddd; /* Fügt einen grauen Rahmen hinzu */
  margin-bottom: 12px; /* Einige Raum unter dem Eingabefeld hinzufügen */
}
#myTable {
  border-collapse: collapse; /* Rahmen zusammenführen */
  width: 100%; /* Volle Breite */
  border: 1px solid #ddd; /* Fügt einen grauen Rahmen hinzu */
  font-size: 18px; /* Schriftgröße vergrößern */
}
#myTable th, #myTable td {
  text-align: left; /* Text links ausrichten */
  padding: 12px; /* Fügen Sie Innenabstand hinzu */
}
#myTable tr {
  /* Fügen Sie eine untere Grenze für alle Tabellenzeilen hinzu */
  border-bottom: 1px solid #ddd;
}
#myTable tr.header, #myTable tr:hover {
  /* Fügen Sie eine graue Hintergrundfarbe für die Tabellenkopf und bei Mausüberfahren hinzu */
  background-color: #f1f1f1;
}

Dritter Schritt - Fügen Sie JavaScript hinzu:

<script>
function myFunction() {
  // Variablen deklarieren
  var input, filter, table, tr, td, i, txtValue;
  input = document.getElementById("myInput");
  filter = input.value.toUpperCase();
  table = document.getElementById("myTable");
  tr = table.getElementsByTagName("tr");
  // Durchsuchen Sie alle Tabellenzeilen und verbergen Sie diejenigen, die nicht mit der Suchanfrage übereinstimmen
  for (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";
      }
    }
  }
}
</script>

Versuchen Sie es selbst

Hinweis:Wenn Sie eine unterscheidende Groß-/Kleinschreibung durchsuchen möchten, löschen Sie toUpperCase()

Hinweis:Wenn Sie nach einem Land (Index 1) statt nach 'Name' (Index 0) suchen möchten, setzen Sie tr[i].getElementsByTagName('td')[0] Change to [1].

Related pages

Tutorial:How to filter/search list