mostrar valor vacío en el elemento de selección html

Tengo un elemento de selección HTML (cuadro combinado) en un formulario con un par de opciones en él. Como siempre cada opción tiene un valor específico. Durante la inicialización de la página, obtengo un valor del servidor que debo usar como la opción seleccionada en la lista. A veces, sin embargo, obtengo un valor del servidor que no coincide con ninguna de las opciones disponibles. (grrrr)

Quiero que el usuario sepa que el valor que obtuve del servidor no es una opción válida. Lo que me gustaría hacer es mostrar un cuadro de selección vacío (como si no se hubiera realizado ninguna selección) sin tener una opción vacía real como una de las opciones. También me gustaría usar el elemento de selección predeterminado si es posible. ¿Es posible algo así?

Editar: cuando establece el valor de un combox en '' en IE9 (utilicé $('select').val('') ) vacía el texto en el cuadro combinado que es exactamente lo que necesito. Lamentablemente, solo IE9 hace esto, por lo que no es una opción.

preguntado el 22 de mayo de 12 a las 15:05

Para aparecer vacío, el <select> elemento necesita un <option> con texto vacío (o sin <option> en absoluto). Tal vez puedas agregar esto <option> elemento en tiempo de ejecución? -

sí, podría hacer eso, pero no quiero meterme con las opciones. Sin embargo, parece que esta es la única opción. suspiro -

2 Respuestas

Fuera de la caja, las selecciones de HTML no proporcionan dicha funcionalidad. Tendrás que agregar un vacío <option value="somethingwrong">Please, pick a value</option> elemento y utilice secuencias de comandos para comprobar si el usuario ha seleccionado este valor específico. Sugiero atrapar ambos onchange evento del menú desplegable y onsubmit evento de forma total.

Respondido el 02 de enero de 14 a las 09:01

Puede insertar una opción en seleccionar y eliminarla cada vez que se cambie para reducir los problemas con esas opciones

Asegúrate de leer Demo aquí

contestado el 22 de mayo de 12 a las 15:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.