Witam,
pewnie jak wszyscy wiemy jak dodamy <input list="nazwa"> (datalist) i podwójnie naciśniemy to pokaże się lista z <option>, a czy da się zrobić, aby pojawiała się po jednym kliknięciu? Wolałbym uniknąć JS (wiem, że łatwo jest to w nim zrobić, sam umiem, ale nie wybieram tej opcji, bo nie chcę dawać za dużo kodu).
0
3
O ile się orientuję (jeśli jestem w błędzie to bardzo proszę o sprostowanie i pokazanie rozwiązania) to nie ma takiej opcji, jedynie można powalczyć JavaScriptem. Obecnie ta kontrolka się zachowuje tak, że pierwsze kliknięcie przenosi na nią focus, a dopiero kliknięcie w kontrolkę z przydzielonym focusem powoduje rozwinięcie listy z sugestiami.
1
A czy da się ustawić domyślnie na focus?
<html>
<body onload="document.getElementById('zrob_mi_focus').focus()">
<input list="potrawy" id="zrob_mi_focus">
<datalist id="potrawy">
<option value="kaszanka">
<option value="schabowy">
<option value="pomidorowa">
<option value="denaturat">
<option value="pieczywo razowe">
</datalist>
</body>
</html>
Jest jeszcze jedna opcja - dodać to elementu input
atrybut autofocus
- wtedy wywalasz JS i masz coś w stylu
<input list="potrawy" id="zrob_mi_focus" autofocus>
2
@Gouda105: jak zauważyłem, liczba kliknięć, by pokazała się lista, zależy (też) od przeglądarki (lub samego silnika renderowania):
- Firefoks (66.0.3) oraz GNU IceCat (60.6.1esr) wymagają dwóch kliknięć;
- Chrome (73) oraz Chromium (73) wymagają jednego kliknięcia.