问题
我有一个名为'Task‘的django模型,它与一个名为' list’的模型相关(一个list有几个任务)。我已经将所有“List”对象的所有“Task”对象附加到一个数组“tasks”中。Task对象有一个布尔成员“completed”,如果任务已完成,则为true,否则为false。
现在,在模板中,我想迭代数组' tasks‘,找到所有已完成的任务,并通过它们的ID (checkbox ID format : task)将其复选框的状态更改为'checked’。我该怎么做呢?
代码
我已经用JavaScript尝试了下面的django模板代码,但显然不起作用。
<script>
{% for list_tasks in tasks %}
{% for task in list_tasks %}
{% if task.completed == True %}
document.getElementById("task{{task.id}}").checked=true;
{% endif %}
{% endfor %}
{% endfor %}
</script>
发布于 2020-02-08 12:03:30
您可以直接在JavaScript中执行,而不是在html中执行。
例如:
{% for list_tasks in tasks %}
{% for task in list_tasks %}
<input type="checkbox" {% if task.completed %} checked {% endif %} />
<label for="task{{task.id}}"> Task name </label>
{% endfor %}
{% endfor %}
但是,如果你更新你的问题,你如何显示这些复选框,我可以提供更多帮助。
此外,另一种选择是直接在django中创建一个具有动态firlds的表单。这是一篇关于如何做到这一点的好文章:https://jacobian.org/2010/feb/28/dynamic-form-generation/
https://stackoverflow.com/questions/60126211
复制相似问题