0

我正在创建一个简单的“待办事项”应用程序。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>标签,但它用第一个值填充每个项目。如何修改它以反映我想看到的内容?

4

1 回答 1

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 %}
于 2013-08-30T11:15:59.070 回答