El día de hoy vamos a ver cómo mostrar las opciones de un select en JavaScript de manera programada, es decir, abrir el select con JS mostrando sus opciones como si el usuario hubiera hecho clic sobre el elemento.
Sorprendentemente, invocar a la función click
del elemento no funciona. Podemos enfocarlo con focus,
pero el select solo va a estar enfocado y no va a mostrar la lista de opciones.
Entonces veamos cómo mostrar las opciones de un select (abrir select) con JavaScript.
La función showPicker
Recientemente se ha añadido la función showPicker
a los select. Básicamente hay que invocar a esa función del elemento en cuestión. Citando la documentación:
Este es el mismo selector que normalmente se mostraría cuando se selecciona el elemento, pero que se puede activar presionando un botón u otra interacción del usuario.
Lo que hay que hacer para mostrar la lista de elementos de un select como si el usuario lo hubiera abierto es:
- Recuperar el elemento HTML con
querySelector
ogetElementById
. - Invocar a la función
showPicker
- Al invocar a
showPicker
, el select estará abierto mostrando las opciones, es decir, la lista desplegable.
Este método es relativamente nuevo al momento de escribir esta publicación, así que te recomiendo que pruebes con varios navegadores. Te dejo el enlace de caniuse a continuación: https://caniuse.com/mdn-api_htmlselectelement_showpicker