Question

Cela obtient la valeur de tout ce qui est sélectionné dans mon menu déroulant.

document.getElementById('newSkill').value

Je ne parviens cependant pas à savoir quelle propriété rechercher pour le texte actuellement affiché par le menu déroulant.J'ai essayé "texte" puis j'ai regardé W3Écoles mais cela n'a pas eu de réponse, est-ce que quelqu'un ici le sait ?

Pour ceux qui ne sont pas sûrs, voici le code HTML d'une liste déroulante.

<select name="newSkill" id="newSkill">
    <option value="1">A skill</option>
    <option value="2">Another skill</option>
    <option value="3">Yet another skill</option>
</select>
Était-ce utile?

La solution

En vous basant sur votre exemple de code HTML, voici une façon d'obtenir le texte affiché de l'option actuellement sélectionnée :

var skillsSelect = document.getElementById("newSkill");
var selectedText = skillsSelect.options[skillsSelect.selectedIndex].text;

Autres conseils

Cela devrait renvoyer la valeur texte de la valeur sélectionnée

var vSkill = document.getElementById('newSkill');

var vSkillText = vSkill.options[vSkill.selectedIndex].innerHTML;

alert(vSkillText);

Accessoires :@Tanerax pour avoir lu la question, savoir ce qui a été demandé et y avoir répondu avant que les autres ne le comprennent.

Modifier:DownModed, parce que j'ai lu une question dans son intégralité et que j'y ai répondu, c'est un monde triste.

Simplement, vous pouvez utiliser Jquery au lieu de Javascript

$("#yourdropdownid option:selected").text();

Essaye ça.

document.getElementById('newSkill').options[document.getElementById('newSkill').selectedIndex].value 

Devrait marcher

Cela fonctionne, je l'ai essayé moi-même, je pensais le poster ici au cas où quelqu'un en aurait besoin...

document.getElementById("newSkill").options[document.getElementById('newSkill').selectedIndex].text;

Attache un événement de changement à la sélection qui obtient le texte de chaque option sélectionnée et les écrit dans le div.

Vous pouvez utiliser jQuery de manière très visible, réussie et facile à utiliser

<select name="sweets" multiple="multiple">
  <option>Chocolate</option>
  <option>Candy</option>
  <option>Taffy</option>
  <option selected="selected">Caramel</option>
  <option>Fudge</option>
  <option>Cookie</option>
</select>
<div></div>


$("select").change(function () {
  var str = "";

  $("select option:selected").each(function() {
    str += $( this ).text() + " ";
  });

  $( "div" ).text( str );
}).change();

Est-ce que cela donne la bonne réponse ?

document.getElementById("newSkill").innerHTML
function getValue(obj)
{  
   // it will return the selected text
   // obj variable will contain the object of check box
   var text = obj.options[obj.selectedIndex].innerHTML ; 

}

Extrait HTML

 <asp:DropDownList ID="ddl" runat="server" CssClass="ComboXXX" 
  onchange="getValue(this)">
</asp:DropDownList>
    var ele = document.getElementById('newSkill')
    ele.onchange = function(){
            var length = ele.children.length
            for(var i=0; i<length;i++){
                if(ele.children[i].selected){alert(ele.children[i].text)};              
            }
    }   
var selectoption = document.getElementById("dropdown");
var optionText = selectoption.options[selectoption.selectedIndex].text;

Veuillez essayer ce qui suit, c'est le moyen le plus simple et cela fonctionne parfaitement

var newSkill_Text = document.getElementById("newSkill")[document.getElementById("newSkill").selectedIndex];

Voici une méthode simple et courte

document.getElementById('elementID').selectedOptions[0].innerHTML
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top