[jQuery-es] Seleccionar option
Choan Gálvez
choan.galvez en gmail.com
Mie Mar 14 07:39:19 PDT 2007
Muy buenas.
On 14/03/2007, at 14:52, Oriol Morell i Jané wrote:
> Buenas,
> seguro que es una parida, pero ahí va.
>
> Tengo un JS que mediante JQuery genera los <options> de un
> <select>. Una vez
> generado, como puedo decirle que <option> quiero que quede
> seleccionada por
> defecto?
Con cariño y por favor ;)
Suponiendo que tengas un DOM tal que
<select id="holder">
<option>juan</option>
<option>paco</option>
<option>fermín</option>
</select>
Puedes usar
$("#holder option:eq(N)").attr("selected", "selected");
Donde es el índice del elemento que quieres seleccionar (el índice
empieza en el cero).
Si tienes el índice en una variable, esta sintaxis te puede resultar
más cómoda:
$("#holder option").eq(N).attr("selected", "selected");
Por otra parte, parece que jQuery manifiesta algún bug en la
generación al vuelo de elementos `select`. Así
$("<select><option>juan</option><option selected='selected'>paco</
option></select>").appendTo("#algo");
falla como una escopeta de feria :(
En cambio
$("#holder").append("<select><option>juan</option><option
selected='selected'>paco</option></select>");
funciona correctamente. Curioso.
¿Has topado con algún otro bug trabajando generando los `select`?
Estaría bien hacer una recopilación de casos antes de abrir reporte
con este.
Salud.
--
Choan Gálvez
<choan.galvez en gmail.com>
<http://choangalvez.nom.es/>
Más información sobre la lista de distribución jquery-es