Wie man Listen filtert/ sucht
- Previous page Empty input validation
- Next page Filter table
Lernen Sie, wie Sie mit JavaScript eine Filterliste erstellen.
Filtern Sie die Liste
Wie Sie mit JavaScript Elemente in einer Liste suchen.
Erstellen Sie eine Suchliste
Schritt 1 - Fügen Sie HTML hinzu:
<input type="text" id="myInput" onkeyup="myFunction()" placeholder="Nach Namen suchen.."> <ul id="myUL"> <li><a href="#">Adele</a></li> <li><a href="#">Agnes</a></li> <li><a href="#">Billy</a></li> <li><a href="#">Bob</a></li> <li><a href="#">Calvin</a></li> <li><a href="#">Christina</a></li> <li><a href="#">Cindy</a></li> </ul>
Hinweis:In dieser Demonstration verwenden wir href="#", weil wir keine Seite haben, die wir verlinken können. In der Praxis sollte dies eine reale URL zu einer bestimmten Seite sein.
Schritt 2 - Fügen Sie CSS hinzu:
Stellen Sie die Stile für das Eingabelement und die Liste ein:
#myInput { background-image: url('/css/searchicon.png'); /* Fügen Sie dem Eingabefeld ein Suchsymbol hinzu */ background-position: 10px 12px; /* Positionieren Sie das Suchsymbol */ background-repeat: no-repeat; /* Wiederholen Sie das Symbolbild nicht */ width: 100%; /* Volle Breite */ font-size: 16px; /* Erhöhen Sie die Zeichengröße */ padding: 12px 20px 12px 40px; /* Fügen Sie etwas Innenabstand hinzu */ border: 1px solid #ddd; /* Fügen Sie eine graue Umrandung hinzu */ margin-bottom: 12px; /* Fügen Sie unter dem Eingabefeld etwas Platz hinzu */ } #myUL { /* Entfernen Sie die Standardsymbolstil */ list-style-type: none; padding: 0; margin: 0; } #myUL li a { border: 1px solid #ddd; /* Fügen Sie allen Links eine Kante hinzu */ margin-top: -1px; /* Verhindern Sie die doppelte Rahmen */ background-color: #f6f6f6; /* Grauer Hintergrundfarbe */ padding: 12px; /* Fügen Sie etwas Innenabstand hinzu */ text-decoration: none; /* Entfernen Sie die Standardtextunterstreichung */ font-size: 18px; /* Erhöhen Sie die Zeichengröße */ color: black; /* Fügen Sie schwarzen Textfarbe hinzu */ display: block; /* Mach es zu einem Block-Element, um die gesamte Liste zu füllen */ } #myUL li a:hover:not(.header) { background-color: #eee; /* Fügen Sie allen Links (außer dem Titel) einen Hover-Effekt hinzu */ }
Dritter Schritt - Fügen Sie JavaScript hinzu:
<script> function myFunction() { // Variablen deklarieren var input, filter, ul, li, a, i, txtValue; input = document.getElementById('myInput'); filter = input.value.toUpperCase(); ul = document.getElementById("myUL"); li = ul.getElementsByTagName('li'); // Durchsuchen Sie alle Listeinträge und verbergen Sie diejenigen, die nicht mit der Suchanfrage übereinstimmen for (i = 0; i < li.length; i++) { a = li[i].getElementsByTagName("a")[0]; txtValue = a.textContent || a.innerText; if (txtValue.toUpperCase().indexOf(filter) > -1) { li[i].style.display = ""; } else { li[i].style.display = "none"; } } } </script>
Hinweis:Wenn Sie eine区分大小写的搜索ausführen möchten, löschen Sie toUpperCase().
Related pages
Tutorial:How to filter/search a table
- Previous page Empty input validation
- Next page Filter table