web-dev-qa-db-fra.com

Comment définir la valeur par défaut d'une zone de sélection à l'aide de JQuery dans IE9?

J'ai la boîte de sélection suivante.

<select id="selId">
     <option id='1' value='1'>1</option>
     <option id='2' value='2'>2</option>
     <option id='3' value='3'>3</option>
     <option id='4' value='4'>4</option>
     <option id='5' value='5'>5</option>
</select>

Dans jQuery, procédez comme suit pour sélectionner la valeur 2 dans la zone de sélection.

...
$("select#selId").find("option#2").attr("selected", "selected");
...

Le même code définit la valeur 2 dans la zone de sélection dans IE8 et Firefox. Mais cela ne fonctionne pas dans IE9.

J'utilise la version JQuery 1.6.1

9
User 1034

Au lieu de définir l'attribut selected, utilisez simplement .val ("2").

Voir ici: jsFiddle

19
DavidGouge

Quoi qu'il en soit, cela a bien fonctionné sur IE9 si vous souhaitez conserver l'attribut "SELECTED"

$("select#selId").find("option#2").attr("selected", true);

http://jsfiddle.net/cqENs/

5
VAShhh

Vous pouvez utiliser val() pour définir l'option à la place - voir Modifier la valeur sélectionnée d'une liste déroulante avec jQuery

2
andyb

changer celui-ci 

$("select#selId").find("option#2").attr("selected", "selected");

dans celui-ci 

$("select#selId").find("option#2").attr("selected", true); 
1
Vivek