Datalist (Input Suggestion) — HTML

Pernah ngetik di Google search dan muncul saran-saran otomatis di bawah search box? Kamu bisa pilih saran (cepet) atau ketik bebas (kalo gak ada yang cocok)…

<datalist> adalah daftar saran buat satu kolom isian. Begitu pengunjung mulai mengetik, browser menampilkan saran yang cocok di bawah kolomnya, kayak saran pencarian di Google. Pengunjung boleh klik salah satu saran, atau tetap mengetik isiannya sendiri.

🧪 Tebakan cepat: daftar sarannya cuma berisi Jakarta, Bandung, dan Surabaya. Bisa gak pengunjung mengisi Bekasi? Tebak dulu, jawabannya ada di bagian "Saran, bukan aturan".

Kolom isian dengan daftar saran

<label for="kota">Kota</label>
<input id="kota" name="kota" list="daftar-kota">

<datalist id="daftar-kota">
  <option value="Jakarta">
  <option value="Bandung">
  <option value="Surabaya">
  <option value="Yogyakarta">
</datalist>

Ada dua sambungan di sini, dan dua-duanya pakai id. Kita ambil satu per satu:

Jadi satu input punya dua atribut dengan tugas beda: id buat label, list buat datalist. Datalist-nya ditulis terpisah, sesudah input, bukan di dalam input (input gak punya tag penutup).

Hasilnya: ketik "ja", browser menawarkan Jakarta. Klik sarannya, kolomnya langsung terisi Jakarta.

Saran, bukan aturan

Datalist cuma menawarkan. Pengunjung tetap boleh mengetik Bekasi walaupun gak ada di daftar, dan isian itu tetap ikut terkirim.

Kalau pengunjung harus memilih salah satu opsi dan gak boleh mengetik sendiri, pakai <select>:

<select id="kota" name="kota">
  <option value="Jakarta">Jakarta</option>
  <option value="Bandung">Bandung</option>
</select>

Gampangnya:

⚠️ Jebakan yang sering ketemu

TL;DR: <datalist> adalah daftar saran buat input. Sambungkan pakai <input list="x"> dan <datalist id="x"> dengan nilai yang sama persis, lalu isi datalist dengan <option value="...">, satu per saran. Input tetap punya id sendiri buat label. Pengunjung boleh pilih saran atau ketik bebas. Kalau harus pilih dari daftar, pakai <select>.

Yang akan kamu pelajari