Datalist for autofullføring
Foreslå inndata med datalist-elementet
Datalist for autofullføring er en gratis leksjon i HTML Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i HTML Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i HTML Academy inneholder totalt 4 leksjoner.
Hva er datalist?
<datalist>-elementet gir en liste med forhåndsdefinerte forslag for et <input>:
<label for="browser">Favorite browser</label>
<input list="browsers" id="browser" name="browser">
<datalist id="browsers">
<option value="Chrome">
<option value="Firefox">
<option value="Safari">
<option value="Edge">
</datalist>
<!-- list attribute links input to datalist by id -->
<!-- User can type freely OR select a suggestion -->datalist kontra select
Viktig forskjell mellom <datalist> og <select>:
- datalist – fri tekst + forslag (brukeren kan skrive hva som helst)
- select – begrenset valg (brukeren må velge fra listen)
Bruk datalist når man vil foreslå verdier uten å begrense inndataene.
Koble datalist til input
list-attributtet på <input> må samsvare med id-en til <datalist>:
<input type="text" list="fruits" name="fruit">
<datalist id="fruits">
<option value="Apple">
<option value="Banana">
<option value="Cherry">
</datalist>datalist med ulike input-typer
<datalist> fungerer med mange input-typer:
<!-- text + datalist: type-ahead suggestions -->
<input type="text" list="countries">
<!-- range + datalist: tick marks -->
<input type="range" min="0" max="100" step="10" list="marks">
<datalist id="marks">
<option value="0"> <option value="25">
<option value="50"> <option value="75"> <option value="100">
</datalist>
<!-- color + datalist: color palette shortcuts -->
<input type="color" list="brand-colors">
<datalist id="brand-colors">
<option value="#0070f3">
<option value="#e86f00">
</datalist>option label i datalist
Alternativer i datalist kan ha en synlig label og en innsendt verdi:
<datalist id="countries">
<option value="US">United States</option>
<option value="GB">United Kingdom</option>
<option value="DE">Germany</option>
</datalist>
<!-- In some browsers, label shows in dropdown
value is submitted when the option is selected -->Filtrering av forslag
Nettleseren filtrerer forslagene mens brukeren skriver:
- Treffalgoritmen varierer mellom nettlesere
- Noen finner treff fra begynnelsen, mens andre finner treff hvor som helst i strengen
- Man kan ikke styre nettleserens filtreringsatferd
- For egendefinert filtrering kan man lage en egendefinert autocomplete-komponent med ARIA
Dynamisk datalist med JavaScript
Oppdater datalist-alternativer dynamisk:
<input type="text" list="suggestions" id="search-input">
<datalist id="suggestions"></datalist>
<script>
document.getElementById('search-input').addEventListener('input', async function() {
const query = this.value;
const res = await fetch(`/api/search?q=${query}`);
const items = await res.json();
const dl = document.getElementById('suggestions');
dl.innerHTML = items.map(item =>
`<option value="${item.name}">`
).join('');
});
</script>Tilgjengelighet for datalist
Tilgjengelighetshensyn for datalist:
- Skjermlesere leser opp forslagene som en listboks
- Brukere kan navigere i forslagene med piltastene
- Inndatafeltet godtar fortsatt fri tekst – sørg for at valideringen håndterer dette
Merknader om nettleserstøtte
Nettleserstøtten for datalist er god, men har enkelte særegenheter:
- Chrome, Edge, Firefox: full støtte
- Safari: støttet fra og med Safari 12.1+
- Mobilnettlesere: de fleste viser forslag, men brukergrensesnittet varierer
- Test alltid i målrettede nettlesere før man baserer seg på datalist
Når datalist ikke bør brukes
Datalist er ikke ideelt når:
- Man trenger streng validering (brukeren må velge fra listen)
- Man trenger egendefinert stilsetting av alternativer (nettleseren styrer all utforming)
- Man trenger gruppering (optgroup støttes ikke i datalist)
I slike tilfeller kan man bruke en egendefinert autocomplete-komponent med ARIA role="combobox".
datalist kontra søkefelt
Sammenlign datalist med et søkefelt med autocomplete:
<input type="search" name="q" list="search-suggestions">
<datalist id="search-suggestions">
<option value="HTML tutorial">
<option value="HTML forms">
<option value="HTML accessibility">
</datalist>
<!-- type="search" provides search-specific UI on mobile -->
<!-- list attribute adds datalist suggestions to any input type -->Hurtigsjekk
Hvordan kobler man et input til datalist-elementet?
Oppsummering: datalist
Det viktigste om datalist:
<datalist id>+<input list>– kobles sammen ved at id og list samsvarer- Brukeren kan skrive fritt eller velge et forslag
- Bruk
<select>når valget må begrenses - Fungerer med text, range, color og andre input-typer
- Forslagene filtreres mens brukeren skriver
Lær deg HTML med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 40
- Leksjoner
- 159
Ofte stilte spørsmål
Er leksjonen «Datalist for autofullføring» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien HTML Academy, inkludert «Datalist for autofullføring», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i HTML Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Datalist for autofullføring»?
Foreslå inndata med datalist-elementet Du øver på HTML Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med HTML Academy?
Ingen tidligere erfaring er nødvendig. HTML Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «Datalist for autofullføring»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne HTML Academy-leksjonen?
Ja. Alle HTML Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Select- og option-rullegardinmenyer
- Textarea for tekst over flere linjer
- Grupper med avmerkingsbokser og radioknapper
- Datalist for autofullføring