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