0
votes

JS JQuery On Change Get InnerhTML de Select Option Tag

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>


0 commentaires

3 Réponses :


2
votes

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);
});


0 commentaires

3
votes

Il vous suffit de construire un sélecteur par rapport à la liste déroulante, atteignant son option ENFANTS et filtrage à la sélection sélectionnée, via JQuery's : Sélectionné pseudo-sélecteur: xxx


2 commentaires

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 () .



1
votes

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);
});


0 commentaires