从下拉框中获取文本

javascript dom browser

179806 观看

12回复

43080 作者的声誉

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

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>
作者: Teifion 的来源 发布者: 2008 年 8 月 8 日

回应 12


1

842 作者的声誉

这会得到正确的答案吗?

document.getElementById("newSkill").innerHTML
作者: Brian Childress 发布者: 2008 年 8 月 8 日

7

730 作者的声誉

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

应该管用

作者: Thejesh GN 发布者: 2008 年 8 月 8 日

8

5193 作者的声誉

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

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

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

alert(vSkillText);

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

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

作者: Tanerax 发布者: 2008 年 8 月 8 日

120

36609 作者的声誉

决定

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

var skillsSelect = document.getElementById("newSkill");
var selectedText = skillsSelect.options[skillsSelect.selectedIndex].text;
作者: Patrick McElhaney 发布者: 2008 年 8 月 8 日

4

51 作者的声誉

这项工作我尝试了我自己,我想我发布在这里以防有人需要它...

document.getElementById("newSkill").options[document.getElementById('newSkill').selectedIndex].text;
作者: Lilith 发布者: 2013 年 2 月 2 日

0

319 作者的声誉

    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)};              
            }
    }   
作者: raton 发布者: 2014 年 5 月 12 日

2

21 作者的声誉

将更改事件附加到选择,该选项获取每个所选选项的文本并将其写入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();
作者: shekh danishuesn 发布者: 2015 年 10 月 1 日

0

21 作者的声誉

var selectoption = document.getElementById("dropdown");
var optionText = selectoption.options[selectoption.selectedIndex].text;
作者: Debanjan Roy 发布者: 2016 年 2 月 1 日

0

1 作者的声誉

请尝试以下这是最简单的方法,它的工作完美

var newSkill_Text = document.getElementById("newSkill")[document.getElementById("newSkill").selectedIndex];
作者: IbrahimSediq 发布者: 2016 年 3 月 29 日

9

537 作者的声誉

您可以使用Jquery而不是Javascript

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

试试这个。

作者: BOBIN JOSEPH 发布者: 2017 年 5 月 23 日

1

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>
作者: Muhammad Tariq Ahmed Khan 发布者: 2017 年 10 月 25 日

0

190 作者的声誉

这是一个简单而简短的方法

document.getElementById('elementID').selectedOptions[0].innerHTML
作者: Manpreet Singh Dhillon 发布者: 2019 年 2 月 13 日
32x32