Изменить содержание на основе выбора выпадающего идентификатора в JQuery
Я пытаюсь обновить содержимое внутри divs на основе опции выбора поля.
Если выбрано, идентификатор опции должен использоваться для отображения или скрытия соответствующих элементов div внутри области.
<select class=" outtaHere">
<option class="selected" value="australia_new_zealand_holidays"> Australasia</option>
<option value="central_america_and_caribbean"> Central America & the Caribbean</option>
<option value="europe"> Europe</option>
<option value="indian_subcontinent_holidays"> Indian Subcontinent</option>
<option value="north_central_asia"> North & Central Asia</option>
<option value="north_africa_middle_east"> North Africa & Middle East</option>
<option value="north_america"> North America</option>
<option value="polar_regions"> Polar Regions</option>
<option value="south_america"> South America</option>
<option value="south_east_asia"> South East Asia</option>
<option value="sub_saharan_africa"> Sub Saharan Africa</option>
</select>
Все должно быть скрыто, если не выбрано одно из вышеперечисленного:
<div class="scroll-content">
<ul class="countrylist australia_new_zealand_holidays">
<li><a href="countries/australia-holidays">Australia</a></li>
<li><a href="countries/papua-new-guinea-holidays">Papua New Guinea</a></li>
<li><a href="countries/new-zealand">New Zealand</a></li>
</ul>
<ul class="countrylist central_america_and_caribbean">
<li><a href="countries/costa-rica-holidays">Costa Rica</a></li>
</ul>
<ul class="countrylist europe">
<li><a href="countries/finland-holidays">Finland</a></li>
<li><a href="countries/france-adventure-holiday">France</a></li>
</ul>
<ul class="countrylist indian_subcontinent_holidays">
<li><a href="countries/bhutan-holidays">Bhutan</a></li>
<li><a href="countries/india-holidays">India</a></li>
<li><a href="countries/nepal-adventure-holidays">Nepal</a></li>
<li><a href="countries/sri-lanka-holidays">Sri Lanka</a></li>
</ul>
</div>
В то же время, когда выбрано поле выбора, мне нужно обновить следующий div со значением также следующим образом:
<div class="desrarea optionvalue">
1 ответ
Решение
Попробуй это
$('.outtaHere').change(function(){
var selected = $(this).find(':selected');
$('.countrylist').hide();
$('.'+selected.val()).show();
$('.optionvalue').html(selected.html()).
attr('class', 'optionvalue '+selected.val());
});
С симпатичной анимацией:
http://jsfiddle.net/faceleg/aKr5w/
$('.outtaHere').change(function(){
var selected = $(this).find(':selected');
$('.optionvalue').fadeOut(function(){
$('.optionvalue').html(selected.html()).fadeIn()
.attr('class', 'optionvalue '+selected.val());
});
var count = $('.countrylist').length;
$('.countrylist').slideUp(function(){
if(!--count) {
$('.'+selected.val()).slideDown();
}
});
});