Simple JavaScript Searchbar

JavaScript, Webontwikkeling

Gepubliceerd: 27.10.2023

Bouw je eigen JavaScript zoekbalk – of kies voor een slimme oplossing op maat

Een efficiënte zoekfunctie is cruciaal voor een gebruiksvriendelijke website. In deze blog laten we stap voor stap zien hoe je zelf een live zoekbalk maakt met JavaScript – ideaal voor blogs, kleine shops of kennisbanken.

Heb je een grotere website of behoefte aan een geavanceerde zoekfunctie met filters, snelheid en integratie? 4BIS Innovations bouwt slimme, schaalbare zoekoplossingen die écht converteren.

Laat jouw zoekfunctionaliteit bouwen door experts. Neem contact met ons op en ontdek wat er mogelijk is.

Zoekbalken zijn een veelvoorkomend verschijnsel op websites. Je ziet ze overal in allerlei vormen en maten. Sommige zijn gewoon eenvoudige tekstzoekbalken en sommige zijn grote complexe zoekbalken die een database bevragen of API-calls doen.

In dit artikel zal ik je laten zien hoe je een eenvoudige tekstzoekbalk kunt maken die zoekt in een lijst van HTML-elementen.

Allereerst, maak je HTML.

  
<input type="text" placeholder="Zoek fruitsoorten..." id="searchBar">
<ul id="fruits-list">
    <li>Appel</li>
    <li>Peer</li>
    <li>Banaan</li>
    <li>Sinaasappel</li>
</ul>

Deze code zal een zeer eenvoudige lijst op het scherm weergeven die er ongeveer zo uitziet:
Searchbar HTML example

Vervolgens kunnen we een scripttag onder deze code schrijven en beginnen met het schrijven van onze JavaScript. We beginnen met het toevoegen van een "keyup" gebeurtenisluisteraar aan de tekstzoekbalk. JavaScript staat je toe om dezelfde code op verschillende manieren te schrijven. In dit voorbeeld zal ik een "arrow function" gebruiken en haal ik de zoekwaarde uit de "evt" parameter.

  
<script>
    document.getElementById("searchbar").addEventlistener("keyup", evt => {
    	const searchValue = evt.target.value.toLowerCase()
    })
</script>

Waarom een slimme zoekfunctie onmisbaar is

Een krachtige zoekbalk verhoogt de gebruikservaring, verlaagt de bounce rate en stimuleert conversies. Of het nu gaat om een webshop, blog, intranet of kennisbank – een snelle, intuïtieve zoekervaring maakt het verschil.

Wist je dat bezoekers die actief gebruikmaken van de zoekfunctie veel eerder overgaan tot actie? Denk aan een aankoop, het invullen van een contactformulier of het aanvragen van een offerte. Een zoekbalk is dus geen detail, maar een strategisch onderdeel van je website.

Een slimme zoekbalk:

  • Filtert moeiteloos grote lijsten of productcatalogi
  • Reageert snel en voelt intuĂŻtief aan
  • Geeft realtime suggesties (autocomplete)
  • Verhoogt zowel klanttevredenheid als je SEO-score

Bij 4BIS Innovations bouwen we zoekoplossingen die razendsnel resultaten tonen – ook bij duizenden producten of artikelen. Onze oplossingen zijn schaalbaar, slim en afgestemd op jouw digitale omgeving. Denk aan geavanceerde filters, realtime zoekresultaten, slimme caching en volledige integratie met je CMS of database.

Vraag een vrijblijvende offerte aan

Elke keer dat je iets in het tekstveld typt, wordt de waarde van wat je hebt getypt omgezet naar kleine letters en opgeslagen in de searchValue variabele. De reden waarom we .toLowerCase() gebruiken, is om de zoekbalk niet-hoofdlettergevoelig te maken.

Vervolgens selecteren we alle <li> -elementen binnen ons <ul>-element en lopen we erdoorheen om hun inhoud te controleren.

  
<script>
    document.getElementById("searchbar").addEventlistener("keyup", evt => {
    	const searchValue = evt.target.value.toLowerCase()
        for (const li of document.querySelector("#fruits-list")) {
            const content = li.innerText.toLowerCase()
            li.style.display = content.includes(searchValue) ? "list-item" : "none"
        }
    })
</script>

De inhoud van het lijstitem is de innerText, omgezet naar kleine letters om hoofdlettergevoeligheid te negeren. Om de zichtbaarheid van het

  • -element te wijzigen, gebruiken we een voorwaardelijke (ternary) operator. In het kort: Operand één is een voorwaarde, het deel na het "?" wordt gebruikt als de voorwaarde "waar" is, het deel na ":" wordt gebruikt als de voorwaarde "onwaar" is.

    Deze code zal nu het element tonen wanneer de tekst ervan je gezochte string bevat en het verbergen wanneer dat niet het geval is.

    Er zijn veel verschillende manieren om deze code te schrijven en dezelfde resultaten te bereiken. Dit artikel toont een zeer eenvoudige en compacte JavaScript-zoekbalk. Complete code:

    <input type="text" placeholder="Search fruits..." id="searchBar">
    <ul id="fruits-list">
        <li>Appel</li>
        <li>Peer</li>
        <li>Banaan</li>
        <li>Sinaasappel</li>
    </ul>  
    <script>
        document.getElementById("searchbar").addEventlistener("keyup", evt => {
        	const searchValue = evt.target.value.toLowerCase()
            for (const li of document.querySelector("#fruits-list")) {
                const content = li.innerText.toLowerCase()
                li.style.display = content.includes(searchValue) ? "list-item" : "none"
            }
        })
    </script>
    
  • Bouw je eigen JavaScript zoekbalk – of kies voor een slimme oplossing op maat

    Een efficiënte zoekfunctie is cruciaal voor een gebruiksvriendelijke website. In deze blog laten we stap voor stap zien hoe je zelf een live zoekbalk maakt met JavaScript – ideaal voor blogs, kleine shops of kennisbanken.

    Heb je een grotere website of behoefte aan een geavanceerde zoekfunctie met filters, snelheid en integratie? 4BIS Innovations bouwt slimme, schaalbare zoekoplossingen die écht converteren.

    Laat jouw zoekfunctionaliteit bouwen door experts. Neem contact met ons op en ontdek wat er mogelijk is.

    Zoekbalken zijn een veelvoorkomend verschijnsel op websites. Je ziet ze overal in allerlei vormen en maten. Sommige zijn gewoon eenvoudige tekstzoekbalken en sommige zijn grote complexe zoekbalken die een database bevragen of API-calls doen.

    In dit artikel zal ik je laten zien hoe je een eenvoudige tekstzoekbalk kunt maken die zoekt in een lijst van HTML-elementen.

    Allereerst, maak je HTML.

      
    <input type="text" placeholder="Zoek fruitsoorten..." id="searchBar">
    <ul id="fruits-list">
        <li>Appel</li>
        <li>Peer</li>
        <li>Banaan</li>
        <li>Sinaasappel</li>
    </ul>
    

    Deze code zal een zeer eenvoudige lijst op het scherm weergeven die er ongeveer zo uitziet:
    Searchbar HTML example

    Vervolgens kunnen we een scripttag onder deze code schrijven en beginnen met het schrijven van onze JavaScript. We beginnen met het toevoegen van een "keyup" gebeurtenisluisteraar aan de tekstzoekbalk. JavaScript staat je toe om dezelfde code op verschillende manieren te schrijven. In dit voorbeeld zal ik een "arrow function" gebruiken en haal ik de zoekwaarde uit de "evt" parameter.

      
    <script>
        document.getElementById("searchbar").addEventlistener("keyup", evt => {
        	const searchValue = evt.target.value.toLowerCase()
        })
    </script>
    

    Waarom een slimme zoekfunctie onmisbaar is

    Een krachtige zoekbalk verhoogt de gebruikservaring, verlaagt de bounce rate en stimuleert conversies. Of het nu gaat om een webshop, blog, intranet of kennisbank – een snelle, intuïtieve zoekervaring maakt het verschil.

    Wist je dat bezoekers die actief gebruikmaken van de zoekfunctie veel eerder overgaan tot actie? Denk aan een aankoop, het invullen van een contactformulier of het aanvragen van een offerte. Een zoekbalk is dus geen detail, maar een strategisch onderdeel van je website.

    Een slimme zoekbalk:

    • Filtert moeiteloos grote lijsten of productcatalogi
    • Reageert snel en voelt intuĂŻtief aan
    • Geeft realtime suggesties (autocomplete)
    • Verhoogt zowel klanttevredenheid als je SEO-score

    Bij 4BIS Innovations bouwen we zoekoplossingen die razendsnel resultaten tonen – ook bij duizenden producten of artikelen. Onze oplossingen zijn schaalbaar, slim en afgestemd op jouw digitale omgeving. Denk aan geavanceerde filters, realtime zoekresultaten, slimme caching en volledige integratie met je CMS of database.

    Vraag een vrijblijvende offerte aan

    Elke keer dat je iets in het tekstveld typt, wordt de waarde van wat je hebt getypt omgezet naar kleine letters en opgeslagen in de searchValue variabele. De reden waarom we .toLowerCase() gebruiken, is om de zoekbalk niet-hoofdlettergevoelig te maken.

    Vervolgens selecteren we alle <li> -elementen binnen ons <ul>-element en lopen we erdoorheen om hun inhoud te controleren.

      
    <script>
        document.getElementById("searchbar").addEventlistener("keyup", evt => {
        	const searchValue = evt.target.value.toLowerCase()
            for (const li of document.querySelector("#fruits-list")) {
                const content = li.innerText.toLowerCase()
                li.style.display = content.includes(searchValue) ? "list-item" : "none"
            }
        })
    </script>
    

    De inhoud van het lijstitem is de innerText, omgezet naar kleine letters om hoofdlettergevoeligheid te negeren. Om de zichtbaarheid van het

  • -element te wijzigen, gebruiken we een voorwaardelijke (ternary) operator. In het kort: Operand één is een voorwaarde, het deel na het "?" wordt gebruikt als de voorwaarde "waar" is, het deel na ":" wordt gebruikt als de voorwaarde "onwaar" is.

    Deze code zal nu het element tonen wanneer de tekst ervan je gezochte string bevat en het verbergen wanneer dat niet het geval is.

    Er zijn veel verschillende manieren om deze code te schrijven en dezelfde resultaten te bereiken. Dit artikel toont een zeer eenvoudige en compacte JavaScript-zoekbalk. Complete code:

    <input type="text" placeholder="Search fruits..." id="searchBar">
    <ul id="fruits-list">
        <li>Appel</li>
        <li>Peer</li>
        <li>Banaan</li>
        <li>Sinaasappel</li>
    </ul>  
    <script>
        document.getElementById("searchbar").addEventlistener("keyup", evt => {
        	const searchValue = evt.target.value.toLowerCase()
            for (const li of document.querySelector("#fruits-list")) {
                const content = li.innerText.toLowerCase()
                li.style.display = content.includes(searchValue) ? "list-item" : "none"
            }
        })
    </script>
    
  • Benieuwd wat een slimme zoekfunctie voor jouw bedrijf kan betekenen?

    Of je nu een webshop runt, een zakelijke portal beheert of een kennisplatform onderhoudt: een goed werkende zoekfunctie maakt jouw website niet alleen gebruiksvriendelijker, maar ook winstgevender.

    Bij 4BIS Innovations ontwikkelen we maatwerkoplossingen die perfect aansluiten op jouw processen, klanten én groeiplannen. Van snelle JavaScript-componenten tot geavanceerde zoektechnologieën met filtermogelijkheden en datakoppelingen.

    Meer weten? Ontdek onze oplossingen:

    Vraag direct een offerte aan

    Lees hier onze blogs!

    Breid je kennis uit met de 4BIS Blog...

    En wat kunnen we voor jou betekenen?_

    Wil je meer weten of heb je interesse? Neem dan gerust direct contact met ons op, per telefoon of via de mail.
    Of maak gebruik van één van onze contactformulieren zodat we je zo snel en gepast mogelijk antwoord kunnen geven. We horen graag van je!

    back to top