@vikholodov

Как по клику показывать body аккордеона, а другой одновременно закрывать?

В общем, у меня блока col-lg-6 и в каждом идут аккордион, выводятся они циклом php (это часть кода в wordpress), я не смог придумать ничего лучше, чем сделать 2 цикла в разных блоках. Первый аккордеон работает как надо, при нажатии один элемент открывается, а открытый закрывается. Подозреваю проблема в 2 циклах, но не могу понять в чем именно косяк, ниже прикладываю код второго аккордеона, который открывает все элементы и ни одного не закрывает при этом, пока не нажмешь повторно на него же.
<div class="col-lg-6">
 <div id="accordion" role="tablist">
				<?php if( have_rows('slovar_r') ): ?>
					<?php while( have_rows('slovar_r') ): the_row(); 
						// vars
						$title_slovar_r = get_sub_field('title_slovar_r');
						$text_slovar_r = get_sub_field('text_slovar_r');
						$t_title_r = translit($title_slovar_r);
						?>
						<div class="card">
							<?php if( $title_slovar_r ): ?>
								<div class="card-header" role="tab" id="#<?php echo $t_title_r ?>">
								      <h5 class="mb-0">
								        <a class="collapsed" data-toggle="collapse" href="#<?php echo $t_title_r.'1'?>" aria-expanded="true" aria-controls="<?php echo $t_title_r.'1'?>"><?php echo $title_slovar_r; ?>								        	
								        </a>
								      </h5>
								</div>  
							<?php endif; ?>
							<?php if( $text_slovar_r ): ?>
								    <div id="<?php echo $t_title_r.'1'?>" class="collapse" role="tabpanel"  aria-labelledby="<?php echo $t_title_r ?>" data-parent="#accordion">
								      <div class="card-body">
								        <?php echo $text_slovar_r; ?>
								      </div>
								    </div>				
							<?php endif; ?>						    
						</div>
					<?php endwhile; ?>
				</div>
				<!--end accordion-->	
				<?php endif; ?>
			</div>
			<!--end col-6-->

А это работающий первый аккордеон
<div class="col-lg-6">
				<div id="accordion" role="tablist">
				<?php if( have_rows('slovar') ): ?>
					<?php while( have_rows('slovar') ): the_row(); 
						// vars
						$title_slovar = get_sub_field('title_slovar');
						$text_slovar = get_sub_field('text_slovar');
						$t_title = translit($title_slovar);
						?>
						<div class="card">
							<?php if( $title_slovar ): ?>
								<div class="card-header" role="tab" id="#<?php echo $t_title ?>">
								      <h5 class="mb-0">
								        <a class="collapsed" data-toggle="collapse" href="#<?php echo $t_title.'1'?>" aria-expanded="true" aria-controls="<?php echo $t_title.'1'?>"><?php echo $title_slovar; ?>								        	
								        </a>
								      </h5>
								</div>  
							<?php endif; ?>
							<?php if( $text_slovar ): ?>
								    <div id="<?php echo $t_title.'1'?>" class="collapse" role="tabpanel" aria-labelledby="<?php echo $t_title ?>" data-parent="#accordion">
								      <div class="card-body">
								        <?php echo $text_slovar; ?>
								      </div>
								    </div>				
							<?php endif; ?>
						    
						</div>
					<?php endwhile; ?>
				</div>
				<!--end accordion-->	
				<?php endif; ?>
			</div>
			<!--end col-6-->
  • Вопрос задан
  • 280 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы