【问题标题】:Create a Bootstrap accordian for items in a python for loop为 python for 循环中的项目创建 Bootstrap 手风琴
【发布时间】:2019-11-22 14:08:38
【问题描述】:

我正在尝试为 Django 数据库中的项目列表创建一个 Bootstrap 手风琴。渲染时,目前我的代码只会在 for 循环中的第一项上折叠和展开。对于其他项目,当我单击这些项目时,第一个项目会展开/折叠,而不是被单击的项目。请寻找解决方案。

<div class="panel-group">
            <div class="panel panel-default">
                {% for issue in issues %}
                <div class="panel-heading">
                    <div class="panel-title">
                        <a data-toggle="collapse" data-target="#collapse1"><h3><i class="fas fa-chevron-down"></i> {{ issue.title }}</h3></a>
                    </div>
                </div>
                <div id="collapse1" class="panel-collapse collapse">
                    <p><strong>Type: </strong>{{ issue.type }}</p>
                    <p class="issue-description"><strong>Description: </strong>{{ issue.description }}</p>
                    <p><strong>Requested By: </strong>{{ issue.requested_by }}</p>
                    <p><strong>Date Created: </strong>{{ issue.date_created }}</p>
                    <p><strong>Status: </strong>{{ issue.status }}</p>
                    <p><strong>Date Completed: </strong>{{ issue.completed_date }}</p>
                    <p><strong>Upvotes: </strong>{{ issue.upvotes }}</p>
                </div>
                {% endfor %}
            </div>
        </div>

【问题讨论】:

  • 不是关于 Python 的问题,你应该删除 Python 标签
  • 您遍历问题,但所有 div 都具有相同的 id“collapse1”。您应该通过使用问题类型或问题状态或问题的其他一些独特属性来使 div 的 id(以及链接的 data-target="#collapse1")动态化。考虑这个 sn-p:&lt;div id="collapse-{{issue.id}}" class="..."&gt;

标签: python html django twitter-bootstrap-3 jinja2


【解决方案1】:

为您的 div 提供唯一 ID,例如 &lt;div id="collapse-{{ issue.pk }}" class="panel-collapse collapse"&gt;,并在 data-target 中引用它:data-target="#collapse-{{ issue.pk }}"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 2022-11-11
    • 2014-07-31
    • 2014-06-14
    • 2021-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多