Имеется следующий код:
<?php foreach ($_filters as $_filter): ?>
<?php if($_filter->getItemsCount()): ?>
<dt ><?php echo $this->__($_filter->getName()) ?></dt>
<dd> <?php echo $_filter->getHtml() ?></dd>
<?php endif; ?>
<?php endforeach; ?>
Он выводит определенный список с подпунктами
нужно чтобы при нажатии на Color, к примеру, скрывались подпункты
Я добавил JavaScript, в итоге получился след. код:
<?php foreach ($_filters as $_filter): ?>
<?php if($_filter->getItemsCount()): ?>
<dt class="tyle="cursor:pointer;" onClick="toggle_show('bla-bla2')""><?php echo $this->__($_filter->getName()) ?></dt>
<dd id="bla-bla2"> <?php echo $_filter->getHtml() ?></dd>
<?php endif; ?>
<?php endforeach; ?>
Проблема состоит в том, что работает только первый пункт списка, нажатие на другие пункты ведет к сворачиванию/разворачивают первого пункта.
Помогите подправить код, чтобы все пункты сворачивались/разворачивались независимо друг от друга.
Спустя 19 минут, 40 секунд (14.01.2012 - 17:29) Invis1ble написал(а):
toggle_show(this) и работаешь с конкретным объектом
ПС. id у всех узлов в DOM должны быть уникальными, можно и через id
ПС. id у всех узлов в DOM должны быть уникальными, можно и через id
Спустя 40 минут, 35 секунд (14.01.2012 - 18:10) ashel911 написал(а):
Использовал след. функцию:
А подскажите подробнее как уникализировать id :unsure:
function toggle_show(id) {
document.getElementById(id).style.display = document.getElementById(id).style.display == 'none' ? 'block' : 'none';
}
А подскажите подробнее как уникализировать id :unsure:
Спустя 43 минуты, 10 секунд (14.01.2012 - 18:53) bodja написал(а):
Цитата |
А подскажите подробнее как уникализировать id |
Ручками
Или в вашем случае можно this использовать.
Спустя 3 часа, 14 минут, 20 секунд (14.01.2012 - 22:07) ashel911 написал(а):
спасибо за советы, получилось