问题
I have a dynamic page where Bootstrap Collapse is showing data from the database. Here if I click any link all the items's collapse is opening all together and closing altogether. My Code
<?php
while ($row = mysqli_fetch_assoc($notice)) {
?>
<div class="panel-group" id="accordion6" role="tablist" aria-multiselectable="true">
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingOne6">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="#accordion6" href="#collapseOne6" aria-expanded="true" aria-controls="collapseOne6">
<?php echo $row['title']; ?>
</a>
</h4>
</div>
<div id="collapseOne6" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingOne6">
<div class="panel-body">
<?php echo $row['description']; ?>
</div>
</div>
</div>
</div>
<?PHP }?>
回答1:
Your id's need to be different for each dropdown.
<a role="button" data-toggle="collapse" data-parent="#accordion6" href="#collapseOne6" aria-expanded="true" aria-controls="collapseOne6">
<?php echo $row['title']; ?>
</a>
Above each id matches #accordion6
. So any other dropdowns need to be unique. Example #accordion7
, #accordion8
, etc.
回答2:
I see
id="headingOne6"
in while loop
they have the same id and target href
回答3:
I have modified your code to generate unique ids for headingOne
.
<?php
$i=0;
while ($row = mysqli_fetch_assoc($notice)) {
?>
<div class="panel-group" id="<?php echo 'accordion'.$i; ?>" role="tablist" aria-multiselectable="true">
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="<?php echo 'headingOne'.$i; ?>">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="<?php echo '#accordion'.$i; ?>" href="#<?php echo $i; ?>" aria-expanded="true" aria-controls="<?php echo 'collapseOne'.$i; ?>">
<?php echo $row['title']; ?>
</a>
</h4>
</div>
<div id="<?php echo $i; ?>" class="panel-collapse collapse" role="tabpanel" aria-labelledby="<?php echo 'headingOne'.$i; ?>">
<div class="panel-body">
<?php echo $row['description']; ?>
</div>
</div>
</div>
</div>
<?PHP
$i++;
}?>
来源:https://stackoverflow.com/questions/58696135/bootstrap-4-collapse-are-opening-all-items-together