我正在尝试使用jquery遍历我作为参数传递给模板的烧瓶sqlalchemy query.all()结果。我有数据库架构为: 客户表:ID,名称,电话
db中的客户为:
1史密斯1111111111
2琼斯2222222222
3爱德华兹3333333333
烧瓶视图:
@auth.route('/orders/add', methods=['GET', 'POST'])
@login_required
def order_add():
custs = Customer.query.all()
return render_template('auth/orders/order_add.html', custs=custs, form=form)
html代码:
<div class="form-group col-xs-12">
<label class="control-label" for="cust_name">Company Name</label>
<input class="form-control" id="cust_name" name="cust_name" type="text" list="customers" />
<datalist id="customers">
</datalist>
</div>
jquery代码:
$('#cust_name').keyup(function() {
var cust = "{{ custs }}"
if ($(this).val() != '') {
cust.each(function(i, name, pn) {
alert(name);
alert(pn);
});
}
});
我不知道如何像FOR ...一样迭代这些结果,就像旧模板代码中那样:
<datalist id="customers">
{% FOR cust IN custs %}
<option>{{ cust.name }}</option>
{% ENDFOR %}
</datalist>
我尝试过:
alert(cust.name); - didn't work
alert(cust[0]); - didn't work
alert({{ custs.name }}); - didn't work
alert("{{ cust.name }}"); - didn't work
甚至尝试过:
$('#comp_name').keyup(function() {
var comp = '{{ comps }}';
if ($(this).val() != '') {
alert(comp.length);
}
});
警报显示80,我还是不知道那一个!
如果您想知道我的最终目标是什么,一旦使此代码生效,我将创建一个文档片段,并将cust.name添加到仅使用jquery选择的数据列表中!
答案 0 :(得分:0)
我放弃了这一点,将Ajax调用设置回数据库。