使用Javascript在下拉列表中选择值(显示为null)

时间:2016-06-14 06:23:50

标签: javascript html select drop-down-menu getelementbyid

我需要使用Javascript访问从下拉列表中选择的值。但是每次选择列表项时我都会得到'null'作为答案。

我的HTML页面:

<select class="mySelect">
    <option value="st1" selected="selected">Create new Stream</option>
    <option value="st1">Stream 1</option>
    <option value="st2">Stream 2</option>
    <option value="st3">Stream 3</option>
    <option value="st4">Stream 4</option>
</select>

<input type="button" value="show attributes" class="panel-button-attr" onclick="choice()">

单击上面的按钮时,应该向用户发出所选值。所以在我的Javascript函数中:

function choice() {

    var choice=document.getElementById("mySelect");
    alert(choice);
    var strUser = choice.options[choice.selectedIndex].text;
    alert(strUser.toString());

}

在这里,我尝试使用第一个警报来检查是否正确识别了任何选定的列表项。但是,此时,它显示为null,并且strUsr行根本不运行。

我知道这实际上是一项微不足道的任务,但我发现很难弄清楚这种不一致。

6 个答案:

答案 0 :(得分:2)

请更改您的HTML元素属性。

您已经提到过mySelect&#39;作为类,在JS中,您使用ID引用来调用它。

答案 1 :(得分:1)

您必须指定选择元素的id

<select class="mySelect" id="mySelect">

答案 2 :(得分:0)

按照代码:

你需要为下拉列表提供id,因为你试图通过id获取数据......

<select id="mySelect" class="mySelect">
   <option value="st1" selected="selected">Create new Stream</option>
   <option value="st1">Stream 1</option>
   <option value="st2">Stream 2</option>
   <option value="st3">Stream 3</option>
   <option value="st4">Stream 4</option>
</select>

我希望这能解决你的问题......

...谢谢

答案 3 :(得分:0)

var str = "";
$( "select option:selected" ).each(function() {
  str += $( this ).text() + " ";
});

答案 4 :(得分:0)

plunker:https://plnkr.co/edit/Q7yyVvUTaLYvPaDW5j7G?p=preview

    <select id="mySelect" class="mySelect" >
      <option value="st1" selected="selected">Create new Stream</option>
      <option value="st1">Stream 1</option>
      <option value="st2">Stream 2</option>
      <option value="st3">Stream 3</option>
      <option value="st4">Stream 4</option>
    </select>


function choice() {

    var choice=document.getElementById("mySelect");
    alert(choice.value);  // get value
    var strUser = choice.options[choice.selectedIndex].text;
    alert(strUser.toString());
}

答案 5 :(得分:0)

你的html中没有id,所以我按类名尝试..

function choice() {
    var choice=document.getElementsByClassName("mySelect");
    var strUser = choice[0].options[choice[0].selectedIndex].text;
    alert(strUser.toString());            
}