我正在创建一个简单的“待办事项列表”应用。 1个带有描述和1个状态的项目表,其中每个项目可以是不完整或完整的。
我的html模板中有以下内容:
<h1> To do list </h1><br>
{% if itemlist %}
{% for desc in itemlist %}
<li>{{desc}}<select>
{% for status in statuslist %}
<option value="{{status.id}}">{{status}}</option>
{% endfor %}
<option selected>{{desc.status}}</option>
</select>
</li>
{% endfor %}
{% else %}
<p> No Items Found </p>
{% endif %}
我的问题是使用这两个值填充下拉列表并自动显示数据库中保存的值。使用我当前的代码,正确显示的值正在显示,但它在下拉列表中重复,因此它显示:
'incomplete'
'complete'
'incomplete'
或
'incomplete'
'complete'
'complete'
而不是
'incomplete'
'complete'
我尝试将selected="{{desc.status}}"
添加到<option>
标记,但它会使用第一个值填充每个项目。
如何修改它以反映我想看到的内容?
答案 0 :(得分:2)
请尝试以下代码:
<h1> To do list </h1><br>
{% if itemlist %}
{% for desc in itemlist %}
<li>{{desc}}<select>
{% for status in statuslist %}
{% if status==desc.status %}
<option value="{{status.id}}" selected>{{status}}</option>
{% else %}
<option value="{{status.id}}">{{status}}</option>
{% endif %}
{% endfor %}
</select>
</li>
{% endfor %}
{% else %}
<p> No Items Found </p>
{% endif %}