An input points at a datalist so the browser can offer suggestions while still allowing custom typed values.

Program

datalist adds native suggestions to text-like inputs. The user can pick one suggestion or keep typing another value.

datalist_suggestions.html
<label for="city">City</label>
<input id="city" name="city" list="cities" value="Austin">
<datalist id="cities">
  <option value="Austin">
  <option value="Boston">
  <option value="Chicago">
</datalist>
list attribute The list attribute points an input at a datalist id.
datalist datalist supplies native suggestions without forcing a fixed choice.