Bootstrap 4 Collapse正在一起打开所有项目

问题描述 投票:-1回答:3

我有一个动态页面,其中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 }?>
php database bootstrap-4 collapse
3个回答
0
投票

您的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


0
投票

我知道

id="headingOne6"

在while循环中

它们具有相同的ID和目标href


0
投票

我已修改您的代码以为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++;
}?>
© www.soinside.com 2019 - 2024. All rights reserved.