¿Existe un reemplazo desplegable completamente funcional para HTML SELECT que funcione en IE?
-
08-07-2019 - |
Pregunta
Determinamos en una pregunta anterior que Muchas funciones de HTML SELECT no son compatibles con IE. ¿Existe un widget alternativo que recomendaría según su experiencia que cumpla con los siguientes requisitos?
- Respeta la propiedad
contentEditable
(no permite cambios de selección si es verdadero) - Respeta la propiedad
desactivada
de las OPCIONES individuales (las muestra "en gris" o con fuente tachada y las hace no seleccionables) - Admite grupos de opciones (elementos
OPTGROUP
) - Admite opciones de
style
comoborder
ymargin
enSELECT
y todos los subelementos - Admite la adición y eliminación dinámica de elementos
OPTION
yOPTGROUP
- Admite lo anterior en IE versión 6 y superior
EDITAR: Como señaló @Joel Coehoorn, los elementos 3 y 5 anteriores son compatibles actualmente con IE. Se incluyen aquí para asegurarse de que no se pasen por alto en un widget de reemplazo.
Solución
Por último, verifique que IE6 + admite # 3 y # 5, y puede (mal) usar OPTGROUP para solucionar la mayoría de los otros elementos.
Puede hacer esto teniendo un optgroup sin opciones dentro, como este:
<optgroup label="--"></optgroup>
Puede hacer la etiqueta lo que quiera, pero el punto es que terminará con un elemento que parece una opción normal, pero que no puede seleccionarse. Eso abre la puerta a todo tipo de diversión:
- Puede deshabilitar elementos específicos agregándolos como optgroups
- Puede evitar los cambios de selección codificando todas las opciones excepto la actual como optgroups (use alguna otra tecla de texto para indicar que están deshabilitadas, si es necesario)
- Puede usar espacios en blanco, - o & amp; mdash; etiquetas a separadores simples indicados en lugar de grupos enteros.
Eso representa la mayor parte de # 1 & amp; # 2 en su lista, de todos modos, al menos los puntos funcionales.
El motivo de " (mal) uso " es porque esto no pasará la mayoría de los validadores html. Sin embargo, el truco funciona en todos los principales navegadores.
Otros consejos
Estoy escribiendo un widget así. Planeo implementar optgroup en mi próxima versión, que será dentro de unos días con suerte, ya que he estado haciendo un buen progreso.