【发布时间】:2017-04-12 17:43:33
【问题描述】:
我想做的是使用 Materialize CSS 创建一个具有自动完成功能的搜索栏。我正在使用一个简单的数组。工作代码:
<input type="text" placeholder="search" id="autocomplete-input" class="autocomplete" >
<script>
$(document).ready(function () {
$('input.autocomplete').autocomplete({
data: {
"Dog": null,
"Bear": null,
"Bull": null,
"Cat": null
}
});
});
</script>
我想做的不是在我的脚本中使用数组来使用 Flask 返回我的 MySQL 数据库。我一直在尝试一些烧瓶路线,但没有运气。
@app.route('/autocomplete', methods=['POST', 'GET'])
def autocomplete():
if request.method == 'POST':
query = request.form['query']
try:
with db.cursor() as cursor:
sql = "SELECT short_name, name FROM table WHERE name LIKE %s"
cursor.execute(sql('%' + query + '%'))
result = cursor.fetchall()
finally:
a = 2
return render_template("results.html", search_result=result)
else:
return "ooops"
有人知道这是否可能吗?
【问题讨论】:
-
您想要的预期结果是“当用户键入然后对flask后端进行post调用并获得相关结果时”对吗?
-
@Pradeepb 没错。 minimal reproducible example (icefox0801.github.io/materialize-autocomplete/examples) 但是我只想查询 MySQL 数据库。
-
我查了很多,找不到具体化 CSS 是否支持自动完成的 ajax 调用。我会建议使用 jquery-UI 自动完成功能(我在一个项目中使用过它并且它工作完美)
-
@Pradeepb 你有可以分享的例子吗?
标签: jquery python mysql flask materialize