Раскрыть все в bootstrap accordion

Рейтинг: 0Ответов: 1Опубликовано: 28.04.2015

Всем привет. Гуглил эту тему, нашел решения подобные этому. Есть один недочет. Если изначально, в примере по ссылке, раскрыть 2-й блок, потом нажать скрыть все, потом раскрыть все - 2-й блок не раскроется. Я так понимаю, что это из-за селектора при генерируемом классе. Пробовал вариант jQuery('body').on('click', '.closeall', ...) - эффект тот же. Убрать часть селектора и оставить jQuery('.accordion-body') - тоже не вариант, будут скакать уже раскрытые блоки при раскрытии. Как можно исправить это?

Ответы

▲ 1

Достаточно убрать лишнюю часть из селектора и всё заработает.

Было:

$('.closeall').click(function(){
  $('.panel-collapse.in')
    .collapse('hide');
});
$('.openall').click(function(){
  $('.panel-collapse:not(".in")')
    .collapse('show');
});

Стало:

$('.closeall').click(function(){
  $('.panel-collapse.in')
    .collapse('hide');
});
$('.openall').click(function(){
  $('.panel-collapse')
    .collapse('show');
});