Javascript - 获取选定的下拉列值返回null

时间:2016-06-29 15:34:46

标签: javascript html

我收到错误TypeError:当尝试通过window.alert(idName);检索下拉列表中所选项的值时,e为null。很抱歉,如果这是一个明显的错误,因为我是javascript的新手。

<html>
  <head>
    <script language="javascript" type="text/javascript">
       function openContent(evt, displayInfo) {
        // Declare all variables
        var i, tabcontent, tablinks;
        var numusrs = ["-50","-100", "-150"];
        var permission = [" Admin-", " Editor-"];

        var e = document.getElementById("dropdown");
        var idName = displayInfo + numusrs[0] + permission[0] + e.options[e.selectedIndex].text;

        window.alert(idName);

     }
</script></head>
<body>
  <select class="dropdown">
     <option value="Mean"> Mean </option>
     <option value="Max"> Max </option>
     <option value="50thPct"> 50th Percentil </option>
     <option value="75thPct"> 75th Percentil </option>
     <option value="95thPct"> 95th Percentil </option>
     <option value="99thPct"> 99th Percentil </option>
  </select>

 <ul class="tab">
     <li style="font-size:large;" >Summary</li>
     <ul class="subtab">
        <li><a href="#" class="tablinks" onclick="openContent(event, 'APISummary')">API</a></li>
        <li><a href="#" class="tablinks" onclick="openContent(event, 'TestSummary')">TEST</a></li>
     </ul>
     <li style="font-size:large;">Detail</li>
     <ul class="subtab">
        <li><a href="#" class="tablinks" onclick="openContent(event, 'Detail-API-150 Admin-Mean')">API</a></li>
        <li><a href="#" class="tablinks" onclick="openContent(event, 'Detail-TEST-150 Admin-Mean')">TEST</a></li>
     </ul>
  </ul>

3 个答案:

答案 0 :(得分:1)

您的<select>class dropdown

<select class="dropdown">

但您正在id搜索

var e = document.getElementById("dropdown");

最快的解决方法是将ID添加到<select>

<select class="dropdown" id="dropdown">

我说&#34;最快&#34;,因为如果您将class="dropdown"更改为id="dropdown",则可能会对您的问题中可能未包含的样式产生影响。

答案 1 :(得分:0)

在javascript中,您的dropdown选定值为id,但在HTML中您已获得dropdown类。所以

  1. class="dropdown"更改为id="dropdown"
  2. 使用此代码获取dropdown

     var e = document.getElementById("dropdown");
     e.options[e.selectedIndex].value;
    
  3. 使用.text将返回options内的文字。

答案 2 :(得分:-1)

Haven在一段时间内完成了Javascript,如果我错了,你可能会道歉,但你可能想要使用getElementByClassName。