我这里有3个选项
<select id="adtype" name="adtype" onchange="validate();">
<option id="banner" value="ban">Banner Advertisement</option>
<option id="textr" value="txt">Text Advertisement</option>
<option id="log" value="log">Login Advertisement</option>
</select>
我需要显示3个分区,每个选项选择1个分区 假设选择横幅时,显示横幅分割 但所有部门必须在页面中处于相同位置。 我的javascript代码是:
<script>
function validate()
{
var ddl = document.getElementById("adtype");
var selectedValue = ddl.options[ddl.selectedIndex].value;
if (selectedValue == "selectoption")
{
alert("Please select an Advert type");
}
if(selectedValue == "txt")
{
document.getElementById("ban").style.display="none";
document.getElementById("textadvert").style.display="block";
}
}
</script>`
我的javascript代码没有完成工作,请任何人都可以使它成为可能。
答案 0 :(得分:0)
它无效,因为元素的id
不匹配。
function validate() {
var ddl = document.getElementById("adtype");
var selectedValue = ddl.options[ddl.selectedIndex].value;
if (selectedValue == "selectoption") {
alert("Please select an Advert type");
}
if(selectedValue == "txt") {
document.getElementById("banner").style.display="none";
document.getElementById("textr").style.display="block";
}
}
您的id
是adtype,banner,textr和log,而您正在检查id
禁令和textadvert。
答案 1 :(得分:0)
我已经为你制作了这个编码器,对于你得到的每个div都不需要新的if(如果你想增加更多的话很有用)
HTML差异:“display-ban”ID而非“禁止”,因为您在“日志”ID上存在冲突,而且这个ID可能更具体。
<div class="hidden" id="display-ban">BAN DIV</div>
JS主要区别:
var subjectDiv=document.getElementById("display-"+selectedValue)
subjectDiv.style.display="block";
我还检查了之前显示的项目,并将其隐藏起来。
if(prev){
prev.style.display="none";
}
希望这会有所帮助。您可以找到codepen here。