Javascript 如何根据下拉列表中的选定选项隐藏单个div

Javascript 如何根据下拉列表中的选定选项隐藏单个div,javascript,html,Javascript,Html,我必须确保只有在第一个下拉菜单中选择了选项(“Tijd”或“Woorden”)时,第二个下拉菜单才会开始显示。如果之后未选择任何选项,则必须再次隐藏第二个下拉列表 HTML <div class="dropdown"> <p>Spelmodus:</p> <select id="spelmodus" name="spelmodus" onchange="changeSp

我必须确保只有在第一个下拉菜单中选择了选项(“Tijd”或“Woorden”)时,第二个下拉菜单才会开始显示。如果之后未选择任何选项,则必须再次隐藏第二个下拉列表

HTML

<div class="dropdown">
    <p>Spelmodus:</p>
    <select id="spelmodus" name="spelmodus" onchange="changeSpelmodus(this.value);">
      <option></option>
    </select>
</div>
<div id="optieDiv">
    <p id="tijdWoorden"></p>
    <select id="opties" name="opties" onchange="changeOptie(this.value);">
    </select>
</div>

斯佩尔莫杜斯:

JavaScript

    var spelmodusOpties = {
        "Tijd": [{"Optie": "1 minuut"}, {"Optie": "2 minuten"}, {"Optie": "5 minuten"}],
        "Woorden": [{"Optie": "50 woorden"}, {"Optie": "100 woorden"}, {"Optie": "150 woorden"}],
    };
    
    function PrepopulateSpelmodus() {
      var spelmodusSelect = document.getElementById('spelmodus');
      var i = 1;
      for (var spelmodus in spelmodusOpties) {
        spelmodusSelect.options[i++] = new Option(spelmodus)
      }
    
    }
    
    function changeSpelmodus(productNameID) {
      var optieSelect = document.getElementById('opties');
      optieSelect.innerHTML = '<option></option>'; // Remove previous options
      var versions = spelmodusOpties[productNameID];
      for (var i = 0; i < versions.length; i++) {
        optieSelect.appendChild(new Option(versions[i].Optie));
      }
    
      var selectie = document.getElementById('spelmodus').value;
      document.getElementById('tijdWoorden').innerHTML = selectie
    
    }
    
    function changeOptie() {
      var productNameID = document.getElementById('spelmodus').value;
      var versions = spelmodusOpties[productNameID];
      for (var i = 0; i < versions.length; i++) {
      }
    }
    
    PrepopulateSpelmodus();

var spelmodusOpties={
“Tijd”:[{“Optie”:“1分钟”},{“Optie”:“2分钟”},{“Optie”:“5分钟”}],
“Woorden”:[{“Optie”:“50 Woorden”},{“Optie”:“100 Woorden”},{“Optie”:“150 Woorden”}],
};
函数PrepopulateSpelmodus(){
var spelmodusSelect=document.getElementById('spelmodus');
var i=1;
用于(spelmodusOpties中的var spelmodus){
spelmodusSelect.options[i++]=新选项(spelmodus)
}
}
函数更改模块(productNameID){
var optieSelect=document.getElementById('opties');
optiseselect.innerHTML='';//删除以前的选项
var versions=spelmodusOpties[productNameID];
对于(变量i=0;i
您只需在更改选择时进行验证和隐藏即可

if(!productNameID){
   document.getElementById('optieDiv').style.display = "none"
   return;
}else{
   document.getElementById('optieDiv').style.display = ""
}
var spelmodusOpties={
“Tijd”:[{“Optie”:“1分钟”},{“Optie”:“2分钟”},{“Optie”:“5分钟”}],
“Woorden”:[{“Optie”:“50 Woorden”},{“Optie”:“100 Woorden”},{“Optie”:“150 Woorden”}],
};
函数PrepopulateSpelmodus(){
var spelmodusSelect=document.getElementById('spelmodus');
var i=1;
用于(spelmodusOpties中的var spelmodus){
spelmodusSelect.options[i++]=新选项(spelmodus)
}
}
函数更改模块(productNameID){
如果(!productNameID){
document.getElementById('optieDiv').style.display=“无”
返回;
}否则{
document.getElementById('optieDiv').style.display=“”
}
var optieSelect=document.getElementById('opties');
optiseselect.innerHTML='';//删除以前的选项
var versions=spelmodusOpties[productNameID];
对于(变量i=0;i

斯佩尔莫杜斯:


您只需在更改选择时进行验证和隐藏即可

if(!productNameID){
   document.getElementById('optieDiv').style.display = "none"
   return;
}else{
   document.getElementById('optieDiv').style.display = ""
}
var spelmodusOpties={
“Tijd”:[{“Optie”:“1分钟”},{“Optie”:“2分钟”},{“Optie”:“5分钟”}],
“Woorden”:[{“Optie”:“50 Woorden”},{“Optie”:“100 Woorden”},{“Optie”:“150 Woorden”}],
};
函数PrepopulateSpelmodus(){
var spelmodusSelect=document.getElementById('spelmodus');
var i=1;
用于(spelmodusOpties中的var spelmodus){
spelmodusSelect.options[i++]=新选项(spelmodus)
}
}
函数更改模块(productNameID){
如果(!productNameID){
document.getElementById('optieDiv').style.display=“无”
返回;
}否则{
document.getElementById('optieDiv').style.display=“”
}
var optieSelect=document.getElementById('opties');
optiseselect.innerHTML='';//删除以前的选项
var versions=spelmodusOpties[productNameID];
对于(变量i=0;i

斯佩尔莫杜斯:

const optiedevel=document.querySelector('optieDiv');
功能切换OptieDiv(事件){
//检查event.target(选择)是否为指定值之一
if(['tijd','woorden'].includes(event.target.value)){
//不渲染'div.optieDiv`
OptieLevel.style.display='none';
}否则{
//Render`div.optieDiv`
OptieLevel.style.display='block';
}
}
document.onload=toggleoptionediv;
document.querySelector(“#spelmodus”).addEventListener('change',toggleOptieDiv)

斯佩尔莫杜斯:

--请选择一个选项-- 蒂吉德 沃尔登 其他

const optiedevel=document.querySelector('optieDiv');
功能切换OptieDiv(事件){
//检查event.target(选择)是否为指定值之一
if(['tijd','woorden'].includes(event.target.value)){
//不渲染'div.optieDiv`
OptieLevel.style.display='none';
}否则{
//Render`div.optieDiv`
OptieLevel.style.display='block';
}
}
document.onload=toggleoptionediv;
document.querySelector(“#spelmodus”).addEventListener('change',toggleOptieDiv)

斯佩姆