基于下拉菜单/选择选项显示/隐藏多个DIV

问题描述 投票:0回答:1

因此,我是HTML / CSS / Java的新手,我正在尝试创建一个简单的表单,该表单包含5个部分,位于单独的Div中。 (所以5 Div,s)

我有一个下拉选项,代码位于此处

        <select value="Test1" name="Test1">
          <option  value="1">One</option>
          <option  value="2">Two</option>
          <option  value="3">Three</option>
          <option  value="4">Four</option>
          <option  value="5">Five</option>
        </select>

根据所选择的选项,我要显示Div的不同选择。

选项1完全不可见选项2是Div1,Div3和Div5选项3是Div2,Div4和Div5选项4是Div1,Div3和Div4选项5是Div2和Div4

我一直在网上寻找各种JS和JQuery脚本来帮助管理此问题,但我设法使自己感到困惑。

我不能使用JQuery,它必须是Javascript。

如果使用Javascript无法做到这一点,那么如果有JQuery选项可用,我也许可以说服那些有必要的人。

感谢您提供的所有帮助。

javascript html hide show
1个回答
0
投票

我希望这会有所帮助,否则有人会提供更好的解决方案。我对此也仍然很陌生,但这将是我的理论方法。

我将为div标签分配类。由于您可以为一个元素分配多个类,因此应该可以使用。例如:

<div id="Div1" class = "optionTwo optionFour hiddenDiv">content...</div>
<div id="Div2" class = "optionThree optionFive hiddenDiv">content...</div>
<div id="Div3" class = "optionTwo optionFour hiddenDiv">content...</div>
<div id="Div4" class = "optionThree optionFour optionFive hiddenDiv">content...</div>
<div id="Div5" class = "optionTwo optionThree hiddenDiv">content...</div>

然后您可以使用JavaScript来确定选择了哪个选项,然后通过使用不同的类名调用它来从相应的div中禁用hiddenDiv类。

var selectedOption = document.getElementByName("Test1")[0].value;
if (selectedOption.value == "1") {
    var element = document.getElementByClassName("optionOne");
    element.classList.remove("hiddenDiv");
}
if (selectedOption.value == "2") {
...

然后在HTML的头部中,您可以执行以下操作:

<head>
<style>
   .hiddenDiv{
      display: none;
   }
</style>
</head>

只需确保检查以查看是否已选择某项,然后更改了选择。因为如果未选择该类,则不会将其添加回该类。也许考虑告诉它将hiddenDiv类添加到不受当前所选选项影响的所有div中。

© www.soinside.com 2019 - 2024. All rights reserved.