808 votes

Comment voulez-vous sélectionner une option dans une liste déroulante en jQuery?

Si vous connaissez l'Indice, la Valeur ou le Texte. aussi, si vous n'avez pas d'IDENTIFIANT pour une référence directe.

Ce, ce , et ce sont tous des réponses utiles.

Exemple de balisage

<div class="selDiv">
  <select class="opts">
    <option selected value="DEFAULT">Default</option>
    <option value="SEL1">Selection 1</option>
    <option value="SEL2">Selection 2</option>
  </select>
</div>

1348voto

Grastveit Points 4444

Un sélecteur pour obtenir le milieu de l'option-élément en valeur

$('.selDiv option[value="SEL1"]')

Pour un indice:

$('.selDiv option:eq(1)')

Pour un texte connu:

$('.selDiv option:contains("Selection 1")')

EDIT: Comme indiqué ci-dessus, l'OP peut avoir été après la modification de l'élément sélectionné de la liste déroulante. Dans la version 1.6 et supérieur de la prop() est la méthode recommandée:

$('.selDiv option:eq(1)').prop('selected', true)

Dans les anciennes versions:

$('.selDiv option:eq(1)').attr('selected', 'selected')

156voto

user1074546 Points 299

Aucune des méthodes ci-dessus fourni la solution que j'ai besoin alors j'ai pensé que je voudrais offrir ce qui a fonctionné pour moi.

$('#element option[value="no"]').attr("selected", "selected");

104voto

Leandro Ardissone Points 1019

Vous pouvez simplement utiliser val() méthode:

$('select').val('the_value');

72voto

mpoletto Points 61

Par valeur, ce qui a fonctionné pour moi avec jQuery 1.7 a été ceci:

$('#id option[value=theOptionValue]').prop('selected', 'selected').modifier();

13voto

Sandro Points 71

Vous pouvez nommer le sélectionner et utiliser ceci:

$("select[name='theNameYouChose']").find("option[value='theValueYouWantSelected']").attr("selected",true);

Il faut sélectionner l'option que vous souhaitez.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X