[英]Want display and hide drop down using javascript
我有一个下拉列表,用于“访客数量”,然后需要显示另一个下拉列表,该下拉列表将针对每个客人的年龄。 可以说,如果某个人从客人人数中选择2个,那么其他2个下拉菜单将显示以选择他们的年龄。 到目前为止,我已经使用下面的代码完成了操作,但是问题是如果某个主体首先错误地选择了2并返回到一个,则显示的下拉菜单将保留在那里,而一个下拉菜单应隐藏起来。 请参考以下代码:
CSS:
#kidsage40, #kidsage41, #kidsage42
{
display:none;
}
HTML:
<select name="kids4" onChange="showroom4kidsage(this.value);">
<option value="0">Kids</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<select name="kidsage40" id="kidsage40">
<option value="0">Kids Age</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
</select>
<select name="kidsage41" id="kidsage41">
<option value="0">Kids Age</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
</select>
<select name="kidsage42" id="kidsage42">
<option value="0">Kids Age</option>
<option value="1">1</option>
<option value="3">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
</select>
JAVASCRIPT:
function showroom4kidsage(value)
{
for(i=0;i<value;i++)
{
kidsage = 'kidsage1'+i;
document.getElementById(kidsage).style.display = "block";
}
}
只需将一个类添加到选择框,说“ kidsageselect”,然后让您的javascript执行此操作:
function showroom4kidsage(value) { var elems = document.getElementsByClassName('kidsageselect'); for (var i = 0; i < elems.length; i++) { elems[i].style.display = 'none'; } for(var i = 0; i < value; i++) { kidsage = 'kidsage4'+i; document.getElementById(kidsage).style.display = "block"; } }
最简单的方法是先将它们全部隐藏,然后循环将显示正确的溺水次数。
function showroom4kidsage(value){
for(i=0;i<3;i++){
document.getElementById('kidsage4' + i).style.display = "none";
}
for(i=0;i<value;i++){
kidsage = 'kidsage4'+i;
document.getElementById(kidsage).style.display = "block";
}
}
或添加一个类名以使访问这些输入更加容易:
<select class="foo" id="kidsage41>...</select>
<select class="foo" id="kidsage42>...</select>
然后您可以:
function showroom4kidsage(value){
document.getElementByClassName('foo').style.display = "none";
for(i=0;i<value;i++){
kidsage = 'kidsage4'+i;
document.getElementById(kidsage).style.display = "block";
}
}
您必须将所有SELECTS设置为display:none,然后再给所有这些选择一个ONE class =“ randomclass”并设置该类中的所有元素display:none或通过循环一个一一地设置em或将它们一一设置为display:none
document.getElementById('kidsage42').style.display = "none";
这将隐藏最后选择的fE
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.