6

每次用户想要删除数据时,我都有一个很好的模式显示删除确认对话框。问题是我的许多视图在模板中呈现元素列表,每个元素都有其详细信息以及一个小的删除红色按钮。当然,在 django 中,视图会将元素列表传递给模板,例如客户端列表,它们会呈现在如下表中:

<table class="table table-striped">  
    <thead>  
      <tr>
        <th>Email</th>
      </tr>  
    </thead>  
    <tbody>
      {% for client in clientes %}
        <tr>  
          <td>{{ client.email }}</td>
          <td>
            <div class="btn-group">
              <!-- Delete button -->
              <a href="#myModal" class="btn btn-danger btn-mini" title="Eliminar">
                <i class="icon-trash icon-white"></i></a>
            </div>
          </td>
        </tr> 
      {% endfor %}
    </tbody>  

每次用户按下删除按钮以显示并确认他正在删除一些数据时,我都希望有一个引导模式。现在,我设法使模态出现并删除用户,但不是正确的用户,模态以某种方式仅获取或尝试删除列表中的第一个用户。您可以在以下链接中使用模态检查我的整个模板:FULL HTML

最后,我的问题在某种程度上与将正确的 {{ client }} 传递给模态而不是客户端列表中的第一个有关,我认为这是因为 for 上第一个声明的模态然后确实不再声明它。

例如,我在表中有 3 个客户:

client1@something.com         detele-button
client2@something.com         detele-button
client3@something.com         detele-button

无论我按下什么客户端删除按钮,它总是显示带有 client1 数据的模式,如果按下确认删除,它实际上会删除它。

谢谢你。

edit1:href 不行。

4

2 回答 2

9

找到了答案,实际上要感谢 keithxm23。

检查生成的 HTML 帮助我得到了正确的结果。实际上每个模态都是正确生成的,问题是每个模态的 id 属性都设置为相同,在这种情况下id="myModal",删除按钮具有href="#myModal". 解决方案是将 modal id 属性设置为整个文档中的唯一值,我设法通过设置 modalid="{{client.pk}}"和 button来做到这一点href="#{{client.pk}}"

于 2012-11-05T17:07:32.287 回答
0

@普拉奇夏尔马

这可能是因为您使用的是整数,在 css 中,标识符不能以数字、两个连字符或一个连字符后跟一个数字开头。你可以试试id="letter or word{{client.pk}}" href="#letter or word{{client.pk}}"

于 2021-04-28T04:34:02.377 回答