Подскажите пожалуйста как написать правильно условие
Помогите плиз :)
Хочу сделать так, чтобы при выборе селекта отображался соответствующий див, а остальные скрывались у меня получается целая простыня для этого, но подозреваю, что должно быть решение намного проще
<div>
<select id="material">
<option>Выберите вид материала</option>
<option value="bumaga">Бумага</option>
<option value="karton">Картон</option>
<option value="poliflex">Полимеры гибкие</option>
<option value="polifix">Полимеры жесткие</option>
<option value="steklo">Стекло</option>
<option value="alumin">Металл (алюминий)</option>
<option value="ferrum">Металл (жесть)</option>
<option value="derevo">Древесина</option>
<option value="other">Другие</option>
</select>
</div>
<div style="clear:both">
<div class="bumaga"><?php echo $this->renderPosition('bumaga', array('style' => 'filter.block')); ?></div>
<div class="karton"><?php echo $this->renderPosition('karton', array('style' => 'filter.block')); ?></div>
<div class="poliflex"><?php echo $this->renderPosition('poliflex', array('style' => 'filter.block')); ?></div>
<div class="polifix"><?php echo $this->renderPosition('polifix', array('style' => 'filter.block')); ?></div>
<div class="steklo"><?php echo $this->renderPosition('steklo', array('style' => 'filter.block')); ?></div>
<div class="alumin"><?php echo $this->renderPosition('alumin', array('style' => 'filter.block')); ?></div>
<div class="ferrum"><?php echo $this->renderPosition('ferrum', array('style' => 'filter.block')); ?></div>
<div class="derevo"><?php echo $this->renderPosition('derevo', array('style' => 'filter.block')); ?></div>
<div class="other"><?php echo $this->renderPosition('other', array('style' => 'filter.block')); ?></div>
</div>
|
а какое у тебя решение?
|
Ну так задаете id тому диву, в который остальные завернуты. На селект на событие change вешаете обработчик, который при изменении будет скрывать все div внутри того которому вы задали id (селектор вида: $('#divId>div') ), а потом брать выбранное значение селекта через this.value и показывать див-потомок с таким классом (селектор примерно такой: $('#divId>div.'+this.value) ).
|
alexmixaylov,
:cray: http://javascript.ru/forum/dom-windo...tml#post271084 и 100500 в поиске по форуму |
(function($){
$("#material")change(function () {
var selected = $(this).val();
switch($(this).val()){
case 'bumaga':
$('.bumaga').addClass('show')
break;
case 'karton':
$('.karton').addClass('show')
break;
}
})
})(jQuery);
})(jQuery);
делаю так, что то не выходит |
$('#material').on('change', function() {
$('#wrap>div').hide();
if (this.value) $('#wrap>div.'+this.value).show();
});
При условии что у внешнего дива id="wrap" |
Огромное спасибо
пару строчек кода и все ОК работает прекрасно :) |
| Часовой пояс GMT +3, время: 19:00. |