Hola chicos.
Estoy buscando una solución que por el momento me parece inalcanzable.
Tengo unos bonitos select tal que
<select name="moneda">
<option value="euro">EUR Euro</option>
<option value="dolar">USD Dólar estadounidense</option>
...
</select>
Y es deseo del cliente que en pantalla solo se muestre el código de
moneda (EUR, USD) pero, al realizar el despliegue, se muestre el texto
completo.
Como bien sabéis, Firefox et al. tienen dicho comportamiento por
defecto, siendo suficiente especificar el ancho del select en la hoja
de estilos.
Ah, pero el amigo IE... esa es otra historia.
La aproximación _menos lamentable_ pasa por asignar un manejador de
eventos para el focus del select. En dicho manejador, asigno un ancho
automático (`el.style.width="auto"`) al sospechoso de turno. Cuando el
select pierdo el foco, elimino ese ancho para mantener el que había
predefinido.
Problemas: unos cuantos. El que más me preocupa es que al asignar el
ancho automático, el select pierde el despliegue.
Alternativas ya descartadas:
* usar el atributo `title` en los `option`: IE no lo reconoce
* usar el atributo `title` y reescribirlo como parte del texto del
option: se pierde el despliegue
Alternativa poco gustosa pero (creo) posible:
* reescribir el elemento como si de otra cosa se tratara (digamos
lista ordenada, por decir algo). Es factible pero costosa, puesto que
replicar la navegación por teclado dentro de un select puede resultar
entre complicado y complicadísimo.
En fin, ¿a alguien se le ocurre otra aproximación o ha dado con una
buena solución para este asunto?
Salud.
--
Choan
<http://choangalvez.nom.es/>
_______________________________________________
javaEScript mailing list
[email protected]
http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net