我有一个路由模板中带有默认值的烧瓶模板。我正在尝试通过在下拉列表中选择一个选项来更改值。我设法按如下方式将所选值添加到javascript。
html模板(仅下拉列表部分)
<div class="dropdown-menu scrollable-menu">
<a class="dropdown-item" data-attVal="1" href="#">Opt 1</a>
<a class="dropdown-item" data-attVal="2" href="#">Opt 2</a>
<div>
javascript
$(".dropdown-menu a").click(function () {
var selText = $(this).text();
var selVal = $(this).attr("data-attVal");
console.log(selText+":"+selVal);
});
app.py
@app.route('/', methods=['GET','POST'])
def display():
i = 1
# do many things based on value of i
return render_template('display.html', response = data)
我真的不需要JavaScript与我的flask app.py
通信。那是我最初的想法。但是,我不知道如何在此之后继续进行操作,或者从我的html模板中调用路由/
。我需要根据下拉列表i
更改data-attVal
的值。
答案 0 :(得分:0)
我找到了解决方法。我不确定这是否是实现此目的的最优雅方法。
html模板
由于我不使用JS,因此删除了data-attVal
自定义属性。
<div class="dropdown-menu scrollable-menu">
<a class="dropdown-item" href="{{url_for('selectDisplay',id=0)}}">Opt1</a>
<a class="dropdown-item" href="{{url_for('selectDisplay',id=1)}}">Opt2</a>
<div>
app.py
我创建了一条额外的路由来处理查询字符串值。
@app.route('/select', methods=['GET','POST'])
def selectDisplay():
i = int(request.args.get('id'))
# do things according to value of i
return render_template('display.html', response = deserialized_bug_data['list_of_turns'])