502 votes

Obtenir la valeur sélectionnée de l'élément d'une liste déroulante en utilisant jQuery

Comment obtenir la valeur sélectionnée d'une liste déroulante à l'aide de jQuery ?
J'ai essayé d'utiliser

var value = $('#dropDownId').val();

y

var value = $('select#dropDownId option:selected').val();

mais les deux retournent une chaîne vide.

3 votes

Les deux devraient fonctionner. Le problème doit se situer ailleurs (par exemple, ce code est-il enveloppé dans un fichier de type $(document).ready(... bloc ?)

5 votes

var value = $('#dropDownId:selected').val();

4 votes

Non. $('#dropDownId').val(); est le moyen le plus concis d'obtenir la valeur sélectionnée.

943voto

Peter McG Points 6385

Pour les éléments de domaine à sélection unique, pour obtenir la valeur actuellement sélectionnée :

$('#dropDownId').val();

Pour obtenir le texte actuellement sélectionné :

$('#dropDownId :selected').text();

11 votes

Vous avez besoin d'un espace avant :selected .

57 votes

Le site le plus rapide pour obtenir le texte de l'option sélectionnée : $("#dropDownId").children("option").filter(":selected").text‌​()

3 votes

J'aurais aimé que tu aies des références liées à .val() y .text()

62voto

Nick Reeve Points 364
var value = $('#dropDownId:selected').text()

Cela devrait fonctionner correctement, voir cet exemple :

$(document).ready(function(){ 
  $('#button1').click(function(){ 
    alert($('#combo :selected').text());
  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="combo">
  <option value="1">Test 1</option>
  <option value="2">Test 2</option>
</select>
<input id="button1" type="button" value="Click!" />

5 votes

"valeur" est ce que la plupart des codeurs oublient, tout en déclarant des éléments et la requête continue à retourner du texte à la place.

0 votes

27voto

Lucky Points 748

Essayez ce jQuery,

$("#ddlid option:selected").text();

ou ce javascript,

 var selID=document.getElementById("ddlid");
 var text=selID.options[selID.selectedIndex].text;

Si vous avez besoin d'accéder à la valeur et non au texte, essayez d'utiliser l'option val() au lieu de text() .

Consultez les liens ci-dessous pour les violons.

Démo1 | Démo2

14voto

Kvadiyatar Points 458

Essayez ceci

$("#yourDropdown option:selected").text();

0 votes

Le PO demande la valeur sélectionnée. Cette réponse permettrait d'obtenir le contenu textuel de la liste déroulante. Ce n'est pas faux, mais ce n'est pas ce qu'il demande.

8voto

Singleton Points 2786

Ceci fera l'affaire

$('#dropDownId').val();

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