我有一个用 Flask 编写的非常简单的应用程序。在主页上,我有一个表单,您可以从几个下拉列表中选择一些设置。像这样:
<form action="/" method="post">
Choose year:
<div class="form-group">
<select class="form-control" id="year" name="year">
<option value='years' selected>years</option>
<option value='quarters' >quarters</option>
{% for year in years %}
<option value={{year}}>{{year}}</option>
{% endfor %}
</select>
</div>
<div class="form-group">
<button class="btn btn-default" type="submit">Show statistics</button>
</div>
</form>
现在预选了一个值。但是,当我选择不同的设置时,单击提交并再次呈现页面(根据新设置),我希望预选的不是最初预选的值,而是我选择的值。这样做的正确方法是什么?
答案 0 :(得分:2)
使用 {% if %}
语句来决定应该选择哪个 option
。
<select class="form-control" id="year" name="year">
<option value='years' {% if choice == 'years' %} selected {% endif %}>years</option>
<option value='quarters' {% if choice == 'quarters' %} selected {% endif %}>quarters</option>
...
</select>
其中 choice
是您传递给模板的变量,该模板保存您在提交表单时选择的值。