<style>
#africa,#bahrain,#oman{
display:none
}
</style>
<select class="country">
<option class="africa" value="africa">Africa</option>
<option class="bahrain" value="bahrain">Bahrain</option>
<option class="oman" value="oman">Oman</option>
</select>
<div class="countryDetails">
<div id="africa"><h1>Africa details</h1></div>
<div id="bahrain"><h1>Bahrain details</h1></div>
<div id="oman"><h1>Oman details</h1></div>
</div>
我如何创建一个功能,如果我从下拉列表中选择一个国家/地区,该国家/地区的详细信息会显示?
列表项的class
与详细信息具有相同的名称,期望详细信息为ID。
该列表将继续增长,因此需要保持动态。
答案 0 :(得分:2)
这是一个解决方案
var t=$('.country').val();
$('#'+t).show();
$('.country').on('change',function(){
t=$('.country').val();
$('.countryDetails').children().hide();
$('#'+t).show();
});
#africa,#bahrain,#oman{
display:none
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="country">
<option class="africa" value="africa">Africa</option>
<option class="bahrain" value="bahrain">Bahrain</option>
<option class="oman" value="oman">Oman</option>
</select>
<div class="countryDetails">
<div id="africa"><h1>Africa details</h1></div>
<div id="bahrain"><h1>Bahrain details</h1></div>
<div id="oman"><h1>Oman details</h1></div>
</div>
答案 1 :(得分:0)
这样做
$('select').on('change',function(){
$('.countryDetails').children().hide();
$('#' + this.value).fadeIn('slow');
});
如果你还没有将jQuery包含在你的项目中,那么最好使用纯javascript,因为你不需要加载整个jQuery lib。
您可以改用:
var det = document.querySelectorAll('.countryDetails div');
var val = document.getElementById('country');
val.addEventListener('change',function(){
for (var i = 0; i< det.length;i++){
det[i].id != val.value ? det[i].style.display = 'none' : det[i].style.display = 'block';
}
});
请注意我在您所在国家/地区的html中添加的ID
<select class="country" id="country">
<option class="africa" value="africa">Africa</option>
<option class="bahrain" value="bahrain">Bahrain</option>
<option class="oman" value="oman">Oman</option>
</select>
<div class="countryDetails">
<div id="africa"><h1>Africa details</h1></div>
<div id="bahrain"><h1>Bahrain details</h1></div>
<div id="oman"><h1>Oman details</h1></div>
</div>