Получение текста из выпадающего списка - PullRequest
67 голосов
/ 08 августа 2008

Получает значение того, что выбрано в моем выпадающем меню.

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>

Ответы [ 12 ]

119 голосов
/ 08 августа 2008

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

var skillsSelect = document.getElementById("newSkill");
var selectedText = skillsSelect.options[skillsSelect.selectedIndex].text;
8 голосов
/ 23 мая 2017

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

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

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

8 голосов
/ 08 августа 2008

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

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

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

alert(vSkillText);

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

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

7 голосов
/ 08 августа 2008
document.getElementById('newSkill').options[document.getElementById('newSkill').selectedIndex].value 

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

4 голосов
/ 02 февраля 2013

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

document.getElementById("newSkill").options[document.getElementById('newSkill').selectedIndex].text;
2 голосов
/ 01 октября 2015

Присоединяет событие изменения к выбору, которое получает текст для каждой выбранной опции и записывает их в 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();
1 голос
/ 25 октября 2017
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>
1 голос
/ 08 августа 2008

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

document.getElementById("newSkill").innerHTML
0 голосов
/ 14 февраля 2019

Вот простой и короткий метод

document.getElementById('elementID').selectedOptions[0].innerHTML
0 голосов
/ 29 марта 2016

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

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