Come creare: menu di ricerca

Impara come creare un menu di ricerca in JavaScript per filtrare i collegamenti.

Cerca/Filtra menu

Come cercare collegamenti nel menu di navigazione:

Contenuto della pagina

Inserisci una categoria/collegamento specifico nella barra di ricerca per "filtrare" le opzioni di ricerca.

Qualcosa di testo...Qualcosa altro di testo...Qualcosa di testo...Qualcosa di testo...Qualcosa di testo...Qualcosa di testo...Qualcosa di testo...Qualcosa di testo...

Qualcosa altro di testo...Qualcosa di testo...Qualcosa di testo...Qualcosa di testo...Qualcosa di testo...Qualcosa di testo...Qualcosa di testo...Qualcosa di testo...

Qualcosa di testo...

Prova tu stesso

Crea il menu di ricerca

Passo 1 - Aggiungi HTML:

<input type="text" id="mySearch" onkeyup="myFunction()" placeholder="Ricerca.." title="Inserisci una categoria">
<ul id="myMenu">
  <li><a href="#">HTML</a></li>
  <li><a href="#">CSS</a></li>
  <li><a href="#">JavaScript</a></li>
  <li><a href="#">PHP</a></li>
  <li><a href="#">Python</a></li>
  <li><a href="#">jQuery</a></li>
  <li><a href="#">SQL</a></li>
  <li><a href="#">Bootstrap</a></li>
  <li><a href="#">Node.js</a></li>
</ul>

Attenzione:In questa dimostrazione, utilizziamo href="#"poiché non abbiamo pagine linkabili. In una situazione reale, dovrebbe essere un URL reale che punta a una pagina specifica.

Passo 2 - Aggiungi CSS:

Impostare lo stile del campo di ricerca e del menu di navigazione:

/* Impostare lo stile del campo di ricerca */
#mySearch {
  width: 100%;
  font-size: 18px;
  padding: 11px;
  border: 1px solid #ddd;
}
/* Impostare lo stile del menu di navigazione */
#myMenu {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
/* Impostare lo stile dei link di navigazione */
#myMenu li a {
  padding: 12px;
  text-decoration: none;
  color: black;
  display: block
}
#myMenu li a:hover {
  background-color: #eee;
}

Passo 3 - Aggiungi JavaScript:

<script>
function myFunction() {
  // Dichiarare variabili
  var input, filter, ul, li, a, i;
  input = document.getElementById("mySearch");
  filter = input.value.toUpperCase();
  ul = document.getElementById("myMenu");
  li = ul.getElementsByTagName("li");
  // Eseguire un ciclo attraverso tutti gli elementi della lista, nascondendo quelli che non corrispondono alla query di ricerca
  for (i = 0; i < li.length; i++) {
    a = li[i].getElementsByTagName("a")[0];
    if (a.innerHTML.toUpperCase().indexOf(filter) > -1) {
      li[i].style.display = "";
    } else {
      li[i].style.display = "none";
    }
  }
}
</script>

Prova tu stesso

Suggerimento:Se si desidera eseguire una ricerca di case sensitive, rimuovere toUpperCase().

Pagine correlate

Guida:Come filtrare la tabella

Guida:Come filtrare l'elenco