我已经在这上面翻了几天了,真的希望有人能帮忙。
我有一个简单的Bootstrap Web表单,该表单接受Freetype文本并将条目添加到MySQL数据库表中。为了帮助用户避免同一内容的拼写错误或重复用语,我想实现jQuery autocomplete plugin来建议数据库表已具有的条目。
使用app.logger.debug()
和console.log()
,我可以看到数据库调用成功,并且在前端的数组["item1", "item2", ..]
中获得了现有的数据库条目。
问题是,在键入时,表单字段仅显示自动完成菜单的几个像素,而没有内容。
我正在使用Bootstrap
stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css
和jQuery / jQuery UI
code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css
,code.jquery.com/jquery-3.3.1.min.js
,code.jquery.com/ui/1.12.1/jquery-ui.min.js
JS:
$(":text").focus( function() {
var input_field = encodeURIComponent($( this ).attr('id'))
var dataString = 'input_field=' + input_field
$.getJSON('/availability_autosuggest'
, dataString
, function (data) {
console.log(input_field)
console.log(data)
$('#' + input_field).autocomplete({
minLength: 2
, source: data});
}
)
烧瓶:
from flask import Flask, render_template, request, jsonify
from flask_bootstrap import Bootstrap
@app.route('/availability_autosuggest', methods=['GET', 'POST'])
def availability_autosuggest():
db_entries = []
input_field = request.args.get('input_field')
# returns list of table entries ["item1", "item2", ..]
db_entries.append(DBOperations().query_table('table_name', column_name=input_field))
return jsonify(db_entries)
我想念什么?!
以下帖子似乎相关,但建议并未解决我的问题: