Comment obtenir $ (cette) option sélectionnée dans jQuery?
le code suivant fonctionne:
$("#select-id").change(function(){
var cur_value = $('#select-id option:selected').text();
. . .
});
comment reformuler la deuxième ligne en:
var cur_value = $(this).***option-selected***.text();
qu'utilisez-vous pour ***option-selected***
?
8 réponses
pour la valeur sélectionnée: $(this).val()
si vous avez besoin de l'élément d'option sélectionné, $("option:selected", this)
le meilleur et le plus court chemin à mon avis pour les événements onchange sur la liste déroulante pour obtenir l'option sélectionnée:
$('option:selected',this);
pour obtenir l'attribut valeur:
$('option:selected',this).attr('value');
pour obtenir la partie montrée Entre les étiquettes:
$('option:selected',this).text();
dans votre échantillon:
$("#select-id").change(function(){
var cur_value = $('option:selected',this).text();
});
cela devrait fonctionner:
$(this).find('option:selected').text();
Vous pouvez utiliser find
pour chercher l'option sélectionnée qui est un descendant du nœud(s) souligné par l'actuel objet jQuery:
var cur_value = $(this).find('option:selected').text();
Puisqu'il s'agit probablement d'un enfant immédiat, je suggère en fait d'utiliser .children
à la place:
var cur_value = $(this).children('option:selected').text();
var cur_value = $(this).find('option:selected').text();
depuis option
est susceptible d'être l'enfant proche de select
vous pouvez également utiliser:
var cur_value = $(this).children('option:selected').text();
conjecture:
var cur_value = $('#select-id').children('option:selected').text();
j'aime mieux les enfants dans ce cas parce que vous savez que vous allez seulement une branche en bas de L'arbre DOM...