Home Work
SaaS developmentAI developmentAPI developmentMobile app developmentGoogle Ads managementHeadless ShopifyLaravel developmentNext.js developmentReact developmentTypeScript engineeringUI/UX designSEO & AEOEcommerce development
AI solutionsB2B platformsE-commerceHospitalityLead generationLogisticsEducationProcess automationSaaS platformsStartup MVPReal estateHealthcare
LegalHealthcareReal estateFinanceHospitality
The HagueRotterdamAmsterdamUtrechtEindhovenAlmereBredaArnhemNijmegenTilburgEnschedeGroningenLeidenDelftZoetermeerDen Bosch
Studio
AboutProcessLabBlogContact

Zoeker met live teller New

Location finder with postcode, type chips and a radius slider; the search button counts live ("Show 23 locations") and with zero results offers one way out (widen the radius). The postcode is formatted and validated. Demo data in JS; in production geocode via PDOK Locatieserver and load locations from your own API.

How to use it

  1. Paste the HTML where the forms & inputs should appear.
  2. Add the CSS to your stylesheet. All classes are prefixed, so nothing clashes with your own styles.
  3. Add the JavaScript and call init() with the element that contains the HTML.
<!-- Zoeker met live teller · NedDev · eigen werk. -->
<div class="jouw-container">
<div class="zlt"><div class="zlt__in">
<form class="zlt__card" role="search" aria-label="Kinderopvang zoeken" novalidate>
<h3 class="zlt__h">Kinderopvang bij jou in de buurt</h3>
<div class="zlt__grid">
<div class="zlt__f zlt__f--pc"><label class="zlt__l" for="zlt-pc">Postcode</label><input class="zlt__i" id="zlt-pc" value="2514 AB" autocomplete="postal-code" maxlength="7" spellcheck="false" aria-describedby="zlt-pe"><p class="zlt__e" id="zlt-pe"></p></div>
<fieldset class="zlt__fs"><legend class="zlt__l">Soort opvang</legend><div class="zlt__chips"><button type="button" class="zlt__chip" aria-pressed="true" data-t="kdv">Dagopvang</button><button type="button" class="zlt__chip" aria-pressed="false" data-t="bso">BSO</button><button type="button" class="zlt__chip" aria-pressed="false" data-t="peuter">Peuteropvang</button><button type="button" class="zlt__chip" aria-pressed="false" data-t="gast">Gastouder</button></div></fieldset>
<div class="zlt__f zlt__f--r"><label class="zlt__l" for="zlt-r">Straal <output class="zlt__ro" for="zlt-r">5 km</output></label><input class="zlt__range" id="zlt-r" type="range" min="1" max="25" step="1" value="5"></div>
</div>
<div class="zlt__act"><button class="zlt__go" type="submit"><span class="zlt__gt">Toon locaties</span></button><button type="button" class="zlt__wider" hidden></button></div>
<p class="zlt__sr" aria-live="polite"></p>
</form>
<div class="zlt__res" tabindex="-1" hidden><p class="zlt__rh"></p><ol class="zlt__list"></ol></div>
</div></div>
</div>

More forms & inputs

Seen something you like?

Add it to your selection and send it over. We build your site around it, in your brand.

Get in touch →