Abrir select de HTML con JavaScript

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:

  1. Recuperar el elemento HTML con querySelector o getElementById.
  2. Invocar a la función showPicker
  3. 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

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *