我有一个动态页面,其中Bootstrap Collapse正在显示数据库中的数据。在这里,如果单击任何链接,则所有项目的折叠将全部打开并完全关闭。我的代码
<?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 }?>
您的ID在每个下拉列表中都必须不同。
<a role="button" data-toggle="collapse" data-parent="#accordion6" href="#collapseOne6" aria-expanded="true" aria-controls="collapseOne6">
<?php echo $row['title']; ?>
</a>
每个ID上均匹配#accordion6
。因此,任何其他下拉菜单都必须是唯一的。例如#accordion7
,#accordion8
等
我知道
id="headingOne6"
在while循环中
它们具有相同的ID和目标href
我已修改您的代码以为headingOne
生成唯一的ID。
<?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++;
}?>