Получение текста из раскрывающегося списка

Это значение будет выбрано в раскрывающемся меню.

document.getElementById('newSkill').value

Однако я не могу узнать, какое свойство следует использовать для текста, отображаемого в раскрывающемся меню. Я попробовал "текст", затем посмотрел на W3Schools, но у этого не было ответа, знает ли кто-нибудь здесь?

Для тех, кто не уверен, вот HTML для раскрывающегося списка.

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

Ответы

Ответ 1

На основе вашего HTML-кода примера, здесь один из способов получить отображаемый текст выбранной в данный момент опции:

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

Ответ 2

Это должно вернуть текстовое значение выбранного значения

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

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

alert(vSkillText);

Реквизит: @Tanerax для чтения вопроса, зная, что было задано, и отвечая на него, прежде чем другие выяснили это.

Изменить: DownMode, потому что я действительно полностью прочитал вопрос и ответил на него, печальный мир.

Ответ 3

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

Должен работать

Ответ 4

Это работает, я пробовал это сам, я думал, что я отправлю его здесь, если кому-то это понадобится...

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

Ответ 5

Прикрепляет событие изменения к элементу, который получает текст для каждого выбранного варианта и записывает их в div.

Вы можете использовать jQuery очень лицевую, успешную и удобную в использовании

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

Ответ 6

Просто вы можете использовать JQuery вместо Javascript

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

Попробуйте это.

Ответ 7

Получает ли это правильный ответ?

document.getElementById("newSkill").innerHTML

Ответ 8

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

Ответ 9

var selectoption = document.getElementById("dropdown");
var optionText = selectoption.options[selectoption.selectedIndex].text;

Ответ 10

Пожалуйста, попробуйте ниже, это самый простой способ, и он отлично работает

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

Ответ 11

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-фрагмент

 <asp:DropDownList ID="ddl" runat="server" CssClass="ComboXXX" 
  onchange="getValue(this)">
</asp:DropDownList>