以下是我的home.html
文件的一部分。
{% for x in items %}
<div class="box-design" data-toggle="modal" data-target="#myModal">
<p>{{ x.name }} - {{ x.created|date:"D d M Y" }}</p>
<p>{{ x.title }}</p>
</div>
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">{{ x.title }}</h4>
</div>
<div class="modal-body">
<p>{{ x.description }}</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<hr/>
{% endfor %}
上述代码的作用是,它迭代传递给items
列表的项目,并将name
,created
,title
属性的值放在{每个相应项目的{1}}标记。
因此,如果我单击相应的div
标记,它会进一步调用包含div
作为myModal
值的标记。目前,具有类id
的{{1}}标记按原样显示值,即逐个显示。但是当我点击生成的div时,它会在点击第二个div
标记时显示第一个项目的值。
因此,我们需要实现一种方法来链接这两个标记,并将相应的项从第一个box-design
div传递给div
div,以便显示相应的项目值。
答案 0 :(得分:2)
使用id="myModal-{{ forloop.counter }}"
和data-target="#myModal-{{ forloop.counter }}"
为每个元素创建不同的ID。