如何使用已由flask - render_template
预填充的HTML <select>
下拉列表。
这是一个已由Flask-Jinja2预填充的<select>
下拉列表。
<div>
<select class="test-default" id="testTime">
{% for option in options %}
<option value={{ option }}>{{ option }}</option>
{% endfor %}
</select>
</div>
test.html
文件中的脚本。
function fetch_test_data(){
let test = $("#testTime").val();
axios({
method:"get",
url:"/test",
params: {
test
}
}).then(function (response) {
$(document.body).html(response.data)
});
}
有一个 test.py
文件 - 包含应用程序路径和下拉菜单的 options
。
@app.route('/test', methods=["GET"])
@login_required
def transactions_view():
options = ["0","7","14","30"]
return render_template("test.html", options=options)
在上述情况下如何使用
selected
属性来显示所选的值。当选择一个值时,正确的值将被返回到Flask并呈现回来。但是下拉可视化/列表显示的是第一个值而不是选定的值?
我尝试过:
我能够获取定义的下拉列表的
dropdown
select
参考为defined-dropdown
。<div>
<select class="test-default" id="testTime">
<option value=0>today</option>
<option value=7>week</option>
<option value=14>fortnight</option>
<option value=30>month</option>
</select>
</div>
{{ time }}
我能够使用上述下拉菜单来完成以下操作:
<div>
<select class="test-default" id="testTime">
<option value=0 {% if time == 0 %} selected="selected" {% endif %}>today</option>
<option value=7 {% if time == 7 %} selected="selected" {% endif %}>week</option>
<option value=14 {% if time == 14 %} selected="selected" {% endif %}>fortnight</option>
<option value=30 {% if time == 30 %} selected="selected" {% endif %}>month</option>
</select>
</div>
其中{{ time }}
是从test.py返回的时间。
@app.route('/test', methods=["GET"])
@login_required
def transactions_view():
time = (request.args.get("test"))
return render_template("test.html", time=time)
int(time)
。 - udit rawat