Подскажите пожалуйста как написать правильно условие
Помогите плиз :)
Хочу сделать так, чтобы при выборе селекта отображался соответствующий див, а остальные скрывались у меня получается целая простыня для этого, но подозреваю, что должно быть решение намного проще <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:37. |