Je sais comment obtenir la "valeur" d'une étiquette d'option sélectionnée sur la modification de la liste déroulante Sélectionner. Mais comment puis-je obtenir le "texte" associé, c'est-à-dire interne HTML dans la variable JS "Nom de pays"?
<select name="country" class="country">
<option value="please-select" disabled="disabled" selected="selected">select country</option>
<option value="DE">Germany</option>
<option value="ES">Spain</option>
<option value="FR">France</option>
<option value="IT">Italy</option>
</select>
<script src="js/jquery-3.4.1.min.js"></script>
<script>
$('select.country').on('change',function(){
var country_code = $(this).val();
var country_name = 'Selected Country Name';
alert(country_code+" - "+country_name);
});
</script>
3 Réponses :
Pour obtenir le texte sélectionné de l'option sélectionnée d'un champ Sélectionner, je ferais ce que vous feriez le suivant
$("select.country").change(function(){
var selectedCountry = $(this).children("option:selected");
var country_code = selectedCountry.val();
var country_name = selectedCountry.text();
alert(country_code+" - "+country_name);
});
Il vous suffit de construire un sélecteur par rapport à la liste déroulante, atteignant son option code> CODE> ENFANTS et filtrage à la sélection sélectionnée, via JQuery's : Sélectionné code> pseudo-sélecteur:
Si j'ajoute ça, ça me donne la sortie: "ES - [Objet d'objet]"
Désolé, écrit dans une ruée; Voir Modifier - Vous avez besoin de la méthode .text () code>.
Il suffit d'ajouter ceci en vous JavaScript
$('select.country').on('change',function(){
var country_code = $(this).val();
var country_name = ( $(this).find(":selected").text() )
alert(country_code+" - "+country_name);
});