Autor Zpráva
nethor
Profil
Existuje nějaká událost při sbalení <select>? Případně detekce, jestli je <select> rozbalený, či ne?
click, change, blur ani focus nevyhovují, protože select jde rozbalit a clickem na stejnou položku bezezměny zase zabalit.
Navíc lze akce kombinovat s klávesnicí (šipky, enter).
Řeším to pro reload formuláře ajaxem, aby při ukládání za letu 'neutíkal pod rukou'.
N71
Profil *
To je celkem jednoduché, takovou událost <select> nevyhazuje, takže to spolehlivě nejde. Leda bys musel použít ne-nativní prvek. Vyřeš to jinak, kontroluj, jakým způsobem se budou data aktualizovat, aby ke změnám ve výškových rozměrech na kritických místech nedocházelo.
nethor
Profil
N71:
Vyřeš to jinak, kontroluj, jakým způsobem se budou data aktualizovat, aby ke změnám ve výškových rozměrech na kritických místech nedocházelo.
Tady si asi nerozumíme, řeším formuláře, u kterých se mění inputy(obecě) v závislosti na obsahu jiných, takže musím za letu načítat formulář.
A když ho načítám po každém 'onChange', provádí různé nepříjemnosti, třeba bere focus a nebo typicky při přkliku ze změněného <input type=text> na <select>
novým naštením select vzápětí zavře.
Řešil jsem to obecně zrušením načtení formu, pokud má nějaký jeho prvek focus. (+ výjimky) To funguje dobře, jediný <select> mi v tom dělá paseku.

Asi nejvíc se teď přikláním k použití ne-nativního prvku, sběžným pohledem na net mám dojem, že se to používá poměrně často (?)
Máš nějaké doporučení na nějakou hotovou pohodovou knihovnu, řešení?
Kcko
Profil
nethor:
Zkus použít jiný formulářový prvek , klidně radio list s nějakou pevnou výškou a overflow a obecně mrkni sem.
Já selectbox prakticky nepoužívám, vždy lze použít něco jiného nebo uspořádat data jinak medium.com/@kollinz/dropdown-alternatives-for-better-mobile-forms-53e40d641b53
nethor
Profil
Kcko:
Díky, ten radio list mi přijde jako dobré řešení.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0