我想隐藏并根据下拉选项显示div。也就是说,如果我选择下拉选项1,则应显示id为1的div,以及id为2的2 div,依此类推。但我想这样做而不使用jQuery但使用css或Javascript。这可能吗?继承我的样品下拉。谢谢你们。
<select name="options">
<option value="1"> Loan Protection Insurance</option>
<option value="2"> GAP or Cash Assist Insurance</option>
<option value="3"> Home Insurance</option>
<option value="4"> Landlords Insurance</option>
<option value="5"> Car Insurance</option>
</select>
<div id="1">Test</div>
<div id="2">Test</div>
答案 0 :(得分:7)
单独使用CSS是不可能的,因为您需要处理下拉列表的change
事件并采取适当的措施。
您可以通过纯JS轻松完成:
document.getElementById('id-of-select').onchange = function() {
var i = 1;
var myDiv = document.getElementById(i);
while(myDiv) {
myDiv.style.display = 'none';
myDiv = document.getElementById(++i);
}
document.getElementById(this.value).style.display = 'block';
};
演示: http://jsfiddle.net/2ukyA/
更新:如果DIV的ID类似于“divname1”等。
document.getElementById('id-of-select').onchange = function() {
var i = 1;
var myDiv = document.getElementById("divname" + i);
while(myDiv) {
myDiv.style.display = 'none';
myDiv = document.getElementById("divname" + ++i);
}
document.getElementById(this.value).style.display = 'block';
};
答案 1 :(得分:0)
如果您不关心“选择”,那么制作仅限css的下拉菜单非常容易。
退房:http://www.alistapart.com/articles/horizdropdowns/
您可以使用css:hover选择器显示/隐藏内容。
即:
<ul>
<li class="menu">
group1
<div class="dropdown">dropdown content1</div>
</li>
<li class="menu">
group2
<div class="dropdown">dropdown content2</div>
</li>
<li class="menu">
group3
<div class="dropdown">dropdown content3</div>
</li>
<li class="menu">
group4
<div class="dropdown">dropdown content4</div>
</li>
<ul>
你的css需要类似于:
.top-menu{}
.top-menu .dropdown{display:none;}
.top-menu:hover .dropdown{display:block;}