2010-02-24 14 views

Respuesta

4

acaba de establecer el atributo selected en la opción:

$("#m").attr("selected", true); 

Si también quiere anular la selección de otras opciones al hacer esto la opción más sencilla es:

$("#m").attr("selected", true).siblings("option").removeAttr("selected"); 

esto no cubre el caso de conjuntos de campo sin embargo. Para cubrir ese uso, utilice algo como:

$("#m").attr("selected", true).closest("select") 
    .find("option").removeAttr("selected"); 
+0

+1 Gracias por recordarme;) –

0

no es la manera correcta de agregar el id para cada opción en la selección. Si yo fuera usted, me gustaría hacer, como a continuación

<select id="myselect"> 
      <option value="0">n</option> 
      <option value="1">m</option> 
</select> 

Establecer el elemento en el índice 1 mediante el siguiente

$("#myselect option:eq(1)").attr("selected", "selected"); 
8

establecer un ID en el elemento de selección en su lugar:

<select id="TheDropDown"> 
    <option value="0">n</option> 
    <option value="1">m</option> 
</select> 

A continuación, utilice la función val:

$('#TheDropDown').val('1'); 
+1

Brilliant! ¡Sólo brillante! –

+3

esto no funcionó para mí en FF 8.0 o Chrome 11.0 (pero .attr ('selected', true) funcionó) –

+0

@NickPerkins: El elemento 'select' no tiene ningún atributo' selected', entonces lo que Creo que lo que está haciendo mal es que está tratando de usar 'val' en una' opción' en lugar de 'seleccionar'. – Guffa

0
$("#m").addAttr('selected', true) 
     .siblings('option') 
     .removeAttr('selected'); 
0

Estoy de acuerdo con @coder. Un ligero cambio en su código es la eliminación de la entrada seleccionada previamente. Si el usuario ya ha seleccionado una opción y luego desea cambiarla por otra cosa utilizando jquery (a menos que su cuadro de selección tenga un atributo "múltiple"), tendrá que anular la selección de la opción de selección del usuario.

$("#myselect option:eq(1)").attr("selected", "selected").siblings("option").removeAttr("selected");

como se ha mencionado por @cletus.

Cuestiones relacionadas