模态没有获取正确的值

时间:2018-03-30 13:39:36

标签: django django-templates django-views

我只是想知道为什么这个模态没有找到正确的值。当我点击按钮时,它只显示一个值的附加信息。我在某个地方读到它可能是因为某些id的东西但是无法弄明白。

2 个答案:

答案 0 :(得分:0)

尝试更改您的代码,如下所示

<td><button type="button" class="btn btn-primary" data-toggle="modal" data-target="#breedModal">Click Here</button></td>

<td><button type="button" class="btn btn-primary" data-toggle="modal" data-target="#breedModal_{{forloop.counter}}">Click Here</button></td>

<div class="modal fade" id="breedModal" tabindex="-1" role="dialog" aria-labelledby="breedModalLabel" aria-hidden="true">

<div class="modal fade" id="breedModal_{{forloop.counter}}" tabindex="-1" role="dialog" aria-labelledby="breedModalLabel" aria-hidden="true">

现在,我将为每一行生成唯一的模型ID。

答案 1 :(得分:0)

实质上我说的是你有:

<div class="modal fade" id="breedModal" ...

但是你在迭代中多次创建它(for循环)。你需要id唯一,所以我建议更像:

<div class="modal fade" id="breedModal{{ breed.id }}" ...

无论如何,您需要更改对此的引用:

<button type="button" data-target="#breedModal{{ breed.id }}"...

这样你就可以为每个模态提供一个唯一的id,所以当你点击按钮时它会知道它应该打开多少个模态。

目前所有按钮都显示为#breedModal,但因为其中有许多按钮只能看到第一个按钮。

编辑:

实际上,虽然您的数据库中没有breed.id值,因此请在for for iteration中使用键值对,请参阅此处https://docs.djangoproject.com/en/2.0/ref/templates/builtins/#for

那么你有:

{% for key, breed in breeds %}

然后我没有尝试使用breed.id,而是使用key(将成为与记录索引相关的数字键),因此您的id属性将呈现为breedModal0breedModal1等。