Πώς να φιλτράρετε/αναζητήσετε πίνακα

Μάθετε πώς να δημιουργήσετε αναolvable πίνακα με JavaScript.

Φιλτράρισμα πίνακα

Πώς να χρησιμοποιήσετε το JavaScript για να αναζητήσετε συγκεκριμένα δεδομένα σε πίνακα.

Name Country
Alfreds Futterkiste Germany
Berglunds snabbkop Σουηδία
Island Trading UK
Koniglich Essen Germany
Laughing Bacchus Winecellars Canada
Magazzini Alimentari Riuniti Italy
North/South UK
Paris specialites France

δοκιμάστε το προσωπικά

Δημιουργία αναζητήσιμης τάβλας

Πρώτη Βήμα - Προσθήκη HTML:

<input type="text" id="myInput" onkeyup="myFunction()" placeholder="Αναζήτηση για ονόματα..">
<table id="myTable">
  <tr class="header">
    <th style="width:60%;">Name</th>
    <th style="width:40%;">Country</th>
  </tr>
  <tr>
    <td>Alfreds Futterkiste</td>
    <td>Germany</td>
  </tr>
  <tr>
    <td>Berglunds snabbkop</td>
    <td>Sweden</td>
  </tr>
  <tr>
    <td>Island Trading</td>
    <td>UK</td>
  </tr>
  <tr>
    <td>Koniglich Essen</td>
    <td>Germany</td>
  </tr>
</table>

Δεύτερη Βήμα - Προσθήκη CSS:

θέτει τον τύπο του στοιχείου εισαγωγής και της τάβλας:

#myInput {
  background-image: url('/css/searchicon.png'); /* προσθέτει εικονίδιο αναζήτησης στο πεδίο εισαγωγής */
  background-position: 10px 12px; /* τοποθεσία εικονιδίου αναζήτησης */
  background-repeat: no-repeat; /* δεν επαναλαμβάνεται το εικονίδιο της εικόνας */
  width: 100%; /* πλήρη πλάτος */
  font-size: 16px; /* αυξάνει το μέγεθος του κειμένου */
  padding: 12px 20px 12px 40px; /* προσθέτει εσωτερικό περιθώριο */
  border: 1px solid #ddd; /* προσθέτει γκρι περιθώριο */
  margin-bottom: 12px; /* προσθέτει χώρο κάτω από το πεδίο εισαγωγής */
}
#myTable {
  border-collapse: collapse; /* συγχώνευση περιθωρίων */
  width: 100%; /* πλήρη πλάτος */
  border: 1px solid #ddd; /* προσθέτει γκρι περιθώριο */
  font-size: 18px; /* Αύξηση μεγέθους γραμματοσειράς */
}
#myTable th, #myTable td {
  text-align: left; /* Αριστερή στοίχηση κειμένου */
  padding: 12px; /* Προσθήκη εσωτερικής περιθωρίου */
}
#myTable tr {
  /* Προσθήκη κονδυλίου για όλες τις γραμμές της τραπέζης */
  border-bottom: 1px solid #ddd;
}
#myTable tr.header, #myTable tr:hover {
  /* Προσθήκη γκρι χρώματος υποβάθρου για το κεφάλι της τραπέζης και όταν ο ποντίκιος ανασηκωθεί */
  background-color: #f1f1f1;
}

Τρίτο βήμα - Προσθήκη JavaScript:

<script>
function myFunction() {
  // Δημιουργία μεταβλητών
  var input, filter, table, tr, td, i, txtValue;
  input = document.getElementById("myInput");
  filter = input.value.toUpperCase();
  table = document.getElementById("myTable");
  tr = table.getElementsByTagName("tr");
  // Εξετάστε όλες τις γραμμές της τραπέζης και κρύψτε αυτές που δεν ταιριάζουν στη διερεύνηση της αναζήτησης
  Για (i = 0; i < tr.length; i++) {
    td = tr[i].getElementsByTagName("td")[0];
    Αν το td) {
      txtValue = td.textContent || td.innerText;
      Αν το txtValue.toUpperCase().indexOf(filter) > -1) {
        tr[i].style.display = "";
      } else {
        tr[i].style.display = "none";
      }
    }
  }
}
</script>

δοκιμάστε το προσωπικά

Συμβουλή:Αν θέλετε να εκτελέσετε αναζήτηση με διατήρηση της κύριας και της ελάχιστης γραμματοσειράς, θα πρέπει να toUpperCase().

Συμβουλή:Εάν θέλετε να αναζητήσετε τη χώρα (καθορισμός 1) αντί του "Όνομα" (καθορισμός 0), θα πρέπει να tr[i].getElementsByTagName('td')[0] Αλλάξτε σε [1].

Σχετικές σελίδες

Εκμάθηση:Πώς να φιλτράρει/αναζητήσει λίστας