2011-07-18 22 views
9

estoy usando jQuery para poblar lista desplegable, los códigos son como a continuación:Cómo establecer el valor seleccionado como vacío de lista desplegable a través de jQuery

var myOptions = { 
    val1 : 'text1', 
    val2 : 'text2', 
    val3 : '' 
    }; 
$.each(myOptions, function(val, text) { 
    $('#mySelect').append($('<option></option>').val(val).html(text)  
); 

}); 

ahora tengo poblar 3 artículos en mi desplegable, y ahora quiero puesto mi valor seleccionado lista desplegable con '', al igual que:

$("#mySelect option contain('')").attr(selected,true). 

en realidad, esto hará que los 3 elementos para que no fijará '' como valor seleccionado, ¿hay alguna manera de que puedo hacer esto?

+2

Si nunca acepta una respuesta correcta, no recompensa a los que intentan ayudarlo; por lo tanto, perjudicando sus posibilidades de obtener una respuesta. – Phil

+0

Tienes que aceptar las respuestas a tu pregunta. Simplemente haga clic en la marca de verificación junto a la respuesta que resolvió su problema. –

+1

¿Realmente necesita usar '.html (text)' para establecer la etiqueta? Si no utiliza HTML dentro del texto, debe usar '.text (texto)' para evitar vulnerabilidades XSS. Esto es extremadamente importante si 'text' puede contener entradas del usuario. –

Respuesta

35
$("#mySelect option[value='']").attr('selected', true) 
+6

Pregunta: ¿no haría '.val ('')' hacer el truco también? –

+2

@JoshPinter puede hacer '.val (nulo)' –

6

Hará lo mismo. $('#elemtId').val('') Obtendrá el mismo resultado

+0

Esto tiende a fallar en algunos casos. En mi caso particular en Chrome para dispositivos móviles, iOS no funciona correctamente si está dentro de un evento de cambio. – Cenobyte321

Cuestiones relacionadas