我经历了几个关于通过jquery启用自动完成的方法,但仍然有点想到。我希望我能得到任何建议如何使我的代码工作。
python代码:
# autocompletion
@app.route('/autocomplete', methods=['GET'])
def autocomplete():
results = []
search = request.args.get('term')
print search
results.append(db.Execution.select().where(db.regexp(db.Execution.identifier, search)))
return jsonify(results)
form.py:
class DiffFrom(Form):
identifierA = TextField('identifierA',
validators=[validators.Optional()])
模板:
<!-- jquery -->
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
<script src="{{ url_for('static', filename='js/jquery.js') }}"></script>
<script src="{{ url_for('static', filename='js/jquery-ui.js') }}"></script>
<script src="{{ url_for('static', filename='js/bootstrap.min.js') }}"></script>
<script type=text/javascript>
$SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
</script>
<script type="text/javascript">
$(function() {
$.ajax({
url: '{{ url_for("autocomplete") }}'
}).done(function (data) {
$('#identifierA').autocomplete({
source: data,
minLength: 2
});
});
})
</script>
<form class="form-inline" role="form" name="form" method="post">
{{ form.hidden_tag() }}
<!-- identifier input field -->
{{ form.identifierA(size=10, placeholder="Identifier", class="form-control", title="Regexp accepted") }}
</form>
#automation中的打印输出无,这是不正确的恕我直言。有谁知道我做错了什么?
由于 汤姆