web-dev-qa-db-fra.com

Obtenir la clé/valeur sélectionnée d'une liste déroulante à l'aide de jQuery

S'il vous plaît, comment puis-je obtenir la clé sélectionnée et la valeur d'une liste déroulante HTML à l'aide de jQuery?

$(this).find("select").each(function () {
    if ($.trim($(this).val()) != '') {
        searchString += $.trim($(this).val()) + " "; //This gives me the key. How can I get the value also?
    }
});

Merci

37
Amit

Je suppose que par "clé" et "valeur" vous voulez dire:

<select>
    <option value="KEY">VALUE</option>
</select>

Si tel est le cas, cela vous donnera la "valeur":

$(this).find('option:selected').text();

Et vous pouvez obtenir la "CLE" comme ceci:

$(this).find('option:selected').val();
81
David Tang

Cela marche:

<select name="foo" id="foo">
<option value="1">a</option>
<option value="2">b</option>
<option value="3">c</option>
</select>
<input type="button" id="button" value="Button" />

$('#button').click(function() {
    alert($('#foo option:selected').text());
    alert($('#foo option:selected').val());
});
24
Anand Thangappan
<select name="foo" id="foo">
 <option value="1">a</option>
 <option value="2">b</option>
 <option value="3">c</option>
  </select>
  <input type="button" id="button" value="Button" />
  });
  <script> ("#foo").val() </script>

qui retourne 1 si vous avez sélectionné a et ainsi de suite ..

8
Alborz
$(this).find("select").each(function () {
    $(this).find('option:selected').text();
});
4
Calum
$("#elementName option").text(); 

Cela donnera le texte sélectionné de la liste déroulante. 

$("#elementName option").val();

Cela donnera l'élément sélectionné associé à la valeur sélectionnée dans la liste déroulante.

$("#elementName option").length;

Il donnera les valeurs de la liste déroulante multi-sélections dans le tableau et la longueur donnera le nombre d'éléments du tableau.

Remarque : #elementName est l'identifiant de la liste déroulante. 

0
Laxman G