2010-08-18 4 views
32

Mon HTML est ci-dessous. J'ai besoin d'obtenir la valeur sélectionnée (Scheduled) en utilisant l'étiquette <select>. Comment cela peut-il être fait en utilisant jQuery?Récupérez la valeur sélectionnée dans une liste déroulante à l'aide de jQuery.

<select id="availability" style="display: none;"> 
    <option value="Available">Available</option> 
    <option selected="selected" value="Scheduled">Scheduled</option> 
    <option value="Unavailable">Unavailable</option> 
</select> 

J'ai fait un jQuery("#availability") pour obtenir la balise select, mais je ne sais pas comment obtenir la valeur des options sélectionnées.

+1

question similaire - http://stackoverflow.com/questions/1643227/jquery-get-selected-text-from-dropdownlist – JasCav

Répondre

57

Essayez:

jQuery("#availability option:selected").val(); 

Ou pour obtenir le texte de l'option, utilisez text():

jQuery("#availability option:selected").text(); 

Plus d'info:

+4

Je pense que jQuery peut reconnaître ce qui est sélectionné, même sans spécifier l'option de sélection: sélectionné . Cela fonctionnerait aussi: $ ("# availability"). Val(); –

+0

Peut aussi essayer l'option '' $ ("select [id = 'availability'] '': sélectionnée"). Val(); ' – KingRider

8
$("#availability option:selected").text(); 

Cela vous donnera la valeur de texte de votre liste déroulante. Vous pouvez également utiliser .val() au lieu de .text() en fonction de ce que vous cherchez à obtenir. Suivez le lien vers la documentation et les exemples de jQuery.

+0

J'ai modifié la question. excuses – bragboy

11

Les solutions ci-dessus n'ont pas fonctionné pour moi. Voici ce que je suis finalement arrivé avec:

$("#ddl").find("option:selected").text();   // Text 
$("#ddl").find("option:selected").prop("value"); // Value 
+1

+1 pour une autre façon – SpringLearner

2
$('#availability').find('option:selected').val() // For Value 
$('#availability').find('option:selected').text() // For Text 
or 
$('#availability option:selected').val() // For Value 
$('#availability option:selected').text() // For Text 
+0

Bienvenue dans StackOverflow! Pourriez-vous expliquer ce que fait le code? – MeanGreen

5

Je suis passé par toutes les réponses fournies ci-dessus. C'est la meilleure façon que je l'habitude d'obtenir la valeur sélectionnée dans la liste déroulante

$('#searchType').val() // for the value

+0

Merci. On dirait que ça marche pour 'val()' mais pas 'text()' – Anupam

0

Bonjour les gars J'utilise cette technique pour obtenir les valeurs de la liste déroulant sélectionné et il travaille comme le charme.

var methodvalue = $("#method option:selected").val(); 
Questions connexes