从下拉框中获取文本

Tei*_*ion 72 javascript browser dom client-side

这将获得我在下拉菜单中选择的任何值.

document.getElementById('newSkill').value
Run Code Online (Sandbox Code Playgroud)

但是,我无法找到下拉菜单当前显示的文本所需的属性.我尝试了"文本",然后看了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>
Run Code Online (Sandbox Code Playgroud)

Pat*_*ney 121

根据您的示例HTML代码,这是获取当前所选选项的显示文本的一种方法:

var skillsSelect = document.getElementById("newSkill");
var selectedText = skillsSelect.options[skillsSelect.selectedIndex].text;
Run Code Online (Sandbox Code Playgroud)

  • 对于那些迟到的人,有几个建议,但没有人注意到他们说.value他们应该说.text,这对我们来说是一个令人困惑的日子. (3认同)

BOB*_*EPH 9

您可以使用Jquery而不是Javascript

$("#yourdropdownid option:selected").text();
Run Code Online (Sandbox Code Playgroud)

试试这个.

  • 原来的问题没有提到JQuery。我们这些不使用 JQuery 的人通常更喜欢答案而不是引用它,除非问题引用或标记了它。当存在像 Patrick McElhaney 给出的相对简洁的解决方案时尤其如此。 (3认同)
  • @cazort恰恰相反。我需要知道如何使用 JQuery 来做到这一点,这个答案为我提供了我需要知道的内容,因此 Bobin Joseph 将其作为答案非常有用(而且很好)。 (2认同)

Tan*_*rax 8

这应该返回所选值的文本值

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

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

alert(vSkillText);
Run Code Online (Sandbox Code Playgroud)

道具:@Tanerax用于阅读问题,了解所询问的内容并在其他人发现之前回答.

编辑:DownModed,因为我实际上完全读了一个问题,并回答了它,这是一个悲伤的世界.


The*_* GN 7

document.getElementById('newSkill').options[document.getElementById('newSkill').selectedIndex].value 
Run Code Online (Sandbox Code Playgroud)

应该管用

  • OP需要.text属性,而不是.value (2认同)