Frage

Dies erhält den Wert dessen, was in meinem Dropdown-Menü ausgewählt ist.

document.getElementById('newSkill').value

Ich kann jedoch nicht herausfinden, welche Eigenschaft ich für den Text verwenden soll, der derzeit im Dropdown-Menü angezeigt wird.Ich habe es mit „Text“ versucht und dann angeschaut W3Schulen aber das hatte keine Antwort, weiß hier jemand Bescheid?

Für diejenigen, die sich nicht sicher sind, hier ist der HTML-Code für ein Dropdown-Feld.

<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>
War es hilfreich?

Lösung

Basierend auf Ihrem Beispiel-HTML-Code gibt es hier eine Möglichkeit, den angezeigten Text der aktuell ausgewählten Option abzurufen:

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

Andere Tipps

Dies sollte den Textwert des ausgewählten Werts zurückgeben

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

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

alert(vSkillText);

Requisiten:@Tanerax dafür, dass du die Frage gelesen hast, wusstest, was gefragt wurde, und sie beantwortet hast, bevor andere es herausgefunden haben.

Bearbeiten:DownModed, weil ich eine Frage tatsächlich vollständig gelesen und beantwortet habe, ist das eine traurige Welt.

Sie können einfach Jquery anstelle von Javascript verwenden

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

Versuche dies.

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

Sollte arbeiten

Das funktioniert, ich habe es selbst ausprobiert. Ich dachte, ich poste es hier für den Fall, dass es jemand braucht ...

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

Fügt der Auswahl ein Änderungsereignis hinzu, das den Text für jede ausgewählte Option abruft und sie in das Div schreibt.

Sie können jQuery sehr einfach verwenden, es ist erfolgreich und einfach zu bedienen

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

Ist das die richtige Antwort?

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 ; 

}

HTML-Snippet

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

Bitte versuchen Sie Folgendes: Dies ist der einfachste Weg und es funktioniert perfekt

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

Hier ist eine einfache und kurze Methode

document.getElementById('elementID').selectedOptions[0].innerHTML
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top