Javascript 如何根据下拉菜单用户选择显示内容

Javascript 如何根据下拉菜单用户选择显示内容,javascript,html,css,Javascript,Html,Css,我在表单底部有一个下拉菜单,有6个不同的选项。 我需要在此菜单下的div上显示不同的内容,具体取决于选择的选项 在用户选择其中一个选项之前,其他内容不应可见,并且一旦用户选择了其中一个选项,则只有与该特定选项关联的内容才应可见 我需要使用JavaScript创建此功能,但我对JavaScript的了解非常有限,而且我似乎没有在网上找到我需要的东西 我相信我需要做的是创建6个不同的div(每个选项一个)并切换 一个类,一旦选择了相应的标题,它们就可以访问 这是我的下拉菜单: <div cl

我在表单底部有一个下拉菜单,有6个不同的选项。 我需要在此菜单下的div上显示不同的内容,具体取决于选择的选项

在用户选择其中一个选项之前,其他内容不应可见,并且一旦用户选择了其中一个选项,则只有与该特定选项关联的内容才应可见

我需要使用JavaScript创建此功能,但我对JavaScript的了解非常有限,而且我似乎没有在网上找到我需要的东西

我相信我需要做的是创建6个不同的div(每个选项一个)并切换 一个类,一旦选择了相应的标题,它们就可以访问

这是我的下拉菜单:

 <div class="field">
    <label for="roleBox" data-label="I_AM">{% trans %} main.I_AM_TITLE {% endtrans %}</label>
    <div class="f-wrapper">
       <select class="cbx" tabindex="50" name="role">
              <option value="student">A Student</option>
              <option value="educator">An Educator</option>
              <option value="parent">A parent signing up for my child</option>
              <option value="not-school">Not in school but still learning</option>
              <option value="publisher">A Publisher or interested Kno partner</option>
       </select>
    </div>
 </div>

{%trans%}main.I_AM_TITLE{%endtrans%}
学生
教育家
为我的孩子注册的家长
不在学校但仍在学习
出版商或感兴趣的Kno合作伙伴

任何帮助都将不胜感激

像这样使用onchange函数

<div class="field">
    <label for="roleBox" data-label="I_AM">{% trans %} main.I_AM_TITLE {% endtrans %}</label>
    <div class="f-wrapper">
       <select class="cbx" id="selctor" tabindex="50" name="role" onchange="selectChanged();">
              <option value="student">A Student</option>
              <option value="educator">An Educator</option>
              <option value="parent">A parent signing up for my child</option>
              <option value="not-school">Not in school but still learning</option>
              <option value="publisher">A Publisher or interested Kno partner</option>
       </select>
    </div>
</div>
<script>
    function selectChanged(){
        //get the value of selector and act upon it
        //i would use jquery to do this stuff
    }
</script>

{%trans%}main.I_AM_TITLE{%endtrans%}
学生
教育家
为我的孩子注册的家长
不在学校但仍在学习
出版商或感兴趣的Kno合作伙伴
函数selectChanged(){
//获取选择器的值并对其进行操作
//我会使用jquery来做这些事情
}

像这样使用onchange函数

<div class="field">
    <label for="roleBox" data-label="I_AM">{% trans %} main.I_AM_TITLE {% endtrans %}</label>
    <div class="f-wrapper">
       <select class="cbx" id="selctor" tabindex="50" name="role" onchange="selectChanged();">
              <option value="student">A Student</option>
              <option value="educator">An Educator</option>
              <option value="parent">A parent signing up for my child</option>
              <option value="not-school">Not in school but still learning</option>
              <option value="publisher">A Publisher or interested Kno partner</option>
       </select>
    </div>
</div>
<script>
    function selectChanged(){
        //get the value of selector and act upon it
        //i would use jquery to do this stuff
    }
</script>

{%trans%}main.I_AM_TITLE{%endtrans%}
学生
教育家
为我的孩子注册的家长
不在学校但仍在学习
出版商或感兴趣的Kno合作伙伴
函数selectChanged(){
//获取选择器的值并对其进行操作
//我会使用jquery来做这些事情
}

我添加了您提到的
div
s,并为每个div添加了一个
id
,这使Javascript变得更简单

Javascript

var ids=["student", "educator", "parent", "not-school", "publisher"];
var dropDown = document.getElementById("roleSel");

dropDown.onchange = function(){
    for(var x = 0; x < ids.length; x++){   
        document.getElementById(ids[x]).style.display="none";
    }    
    document.getElementById(this.value).style.display = "block";
}
var id=[“学生”、“教育者”、“家长”、“非学校”、“出版商”];
var dropDown=document.getElementById(“roleSel”);
dropDown.onchange=函数(){
对于(var x=0;x
HTML

 <div class="field">
    <label for="roleBox" data-label="I_AM">{% trans %} main.I_AM_TITLE {% endtrans %}</label>
    <div class="f-wrapper">
       <select id="roleSel" class="cbx" tabindex="50" name="role">
              <option value="student">A Student</option>
              <option value="educator">An Educator</option>
              <option value="parent">A parent signing up for my child</option>
              <option value="not-school">Not in school but still learning</option>
              <option value="publisher">A Publisher or interested Kno partner</option>
       </select>
    </div>
 </div>
<div id="student" class="hidden">Student div</div>
<div id="educator" class="hidden">Educator div</div>
<div id="parent" class="hidden">Student div</div>
<div id="not-school" class="hidden">Not School div</div>
<div id="publisher" class="hidden">Student div</div>

{%trans%}main.I_AM_TITLE{%endtrans%}
学生
教育家
为我的孩子注册的家长
不在学校但仍在学习
出版商或感兴趣的Kno合作伙伴
学生组
教育组
学生组
不是学校分区
学生组

工作示例

我添加了您提到的
div
s,并为每个div添加了一个
id
,这使Javascript变得更简单

Javascript

var ids=["student", "educator", "parent", "not-school", "publisher"];
var dropDown = document.getElementById("roleSel");

dropDown.onchange = function(){
    for(var x = 0; x < ids.length; x++){   
        document.getElementById(ids[x]).style.display="none";
    }    
    document.getElementById(this.value).style.display = "block";
}
var id=[“学生”、“教育者”、“家长”、“非学校”、“出版商”];
var dropDown=document.getElementById(“roleSel”);
dropDown.onchange=函数(){
对于(var x=0;x
HTML

 <div class="field">
    <label for="roleBox" data-label="I_AM">{% trans %} main.I_AM_TITLE {% endtrans %}</label>
    <div class="f-wrapper">
       <select id="roleSel" class="cbx" tabindex="50" name="role">
              <option value="student">A Student</option>
              <option value="educator">An Educator</option>
              <option value="parent">A parent signing up for my child</option>
              <option value="not-school">Not in school but still learning</option>
              <option value="publisher">A Publisher or interested Kno partner</option>
       </select>
    </div>
 </div>
<div id="student" class="hidden">Student div</div>
<div id="educator" class="hidden">Educator div</div>
<div id="parent" class="hidden">Student div</div>
<div id="not-school" class="hidden">Not School div</div>
<div id="publisher" class="hidden">Student div</div>

{%trans%}main.I_AM_TITLE{%endtrans%}
学生
教育家
为我的孩子注册的家长
不在学校但仍在学习
出版商或感兴趣的Kno合作伙伴
学生组
教育组
学生组
不是学校分区
学生组
工作示例