如何使用onchange()显示另一个选择列表?

时间:2017-01-03 22:34:13

标签: javascript html

需要一些帮助。似乎有点卡住了。为了保持简短和甜蜜,我有一个包含几个选项的选择列表。现在,我的最终目标是,如果我选择一个特定的选项,我想显示另一个名为Modules的选择列表,在这个选择列表中也有几个选项可供选择。我在列表中定位的选项" ProductDet_Product"是DocAve 6和DocAve 5,如下所示。



function loadmodule($i) {
  if ($i = "DocAve 6") {
    var x = document.createElement("SELECT");
    x.setAttribute("id", "loadDA6module");
    document.body.appendChild(x);

    var z = document.createElement("option");
    z.setAttribute("value", "Administrator")
    var t = document.createTextNode("Administrator");
    z.appendChild(t);
    document.getElementById("loadDA6module").appendChild)(z);
  }
}

<td style="text-align: center; vertical-align: middle; width: 534px;">
  <p><small>Product
        (Project):

        <select id="ProductDet_Product" 
          onchange="loadmodule(document.getElementById(this).options[document.getElementById(this).selectedIndex].value);">

          <option>APIA</option>
          <option>ARIS (Risk Intelligence System)</option>
          <option>Citizens Services</option>
          <option>Compliance Guardian</option>
          <option>Compliance Guardian Online</option>
          <option>Discovery Tool</option>
          <option value="DocAve 6">DocAve 6</option>
          <option value="DocAve 5">DocAve 5</option>
          <option>File Share Navigator</option>
          <option>File Share Navigator Online</option>
          <option>Governance Automation</option>
          <option>Governance Automation Online</option>
          <option>Meetings</option>
          <option>Meetings Online</option>
          <option>Office Connect</option>
          <option>Perimeter</option>
          <option>Perimeter Online</option>
          <option>PDF Aggregator</option>
          <option>Salesforce Backup</option>
          <option>Secure Publisher</option>
          <option>Watermark</option>
      </select>
    </small>
  </p>
</td>
&#13;
&#13;
&#13;

如果我要选择DocAve 5或DocAve 6,我想在此列表下方显示另一个选择列表,其中包含我上面描述的选项。

当我选择DocAve 6时,不会显示其他选择列表。如果你不介意的话,在这里会有一些帮助!谢谢!

2 个答案:

答案 0 :(得分:0)

你可以这样做:

  • 在HTML中创建另一个选择列表,并将其CSS显示属性设置为none

<select id="hiddenSelect">

  • 在显示可见onchange()的{​​{1}}回调中,然后检查所选值==&#34; DocAve 6&#34;如果是,则将另一个列表的display属性设置为select
block

答案 1 :(得分:0)

您不需要像这样获得所选的选项。只需将此作为参数传递给prv.next = mid.next并获取值:

onchange

然后在您的加载模块中检查参数的<select id="ProductDet_Product" onchange="loadmodule(this);">

.value

您可以找到一个有效的例子here