jquery - Jquery迭代flask sqlalchemy查询所有结果作为参数传递给html模板
问题描述
我正在尝试使用 jquery 来迭代我作为参数传递给模板的烧瓶 sqlalchemy query.all() 结果。我的数据库架构为:客户表:id,name,phone
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...EACH 在旧模板代码中那样迭代这些结果:
<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 的 datalist 选择中!
解决方案
我放弃了,设置了一个 Ajax 调用回 db。
推荐阅读
- python - 找不到 Python 模块 - 队列、websocketserver
- javascript - 所有预加载链接的 Next.js 404 错误
- dart - 使用 Flutter 获取 Firestore 文档密钥
- r - 如何使用 ggplot2 从两个数据框制作单个图
- string - 返回 HashMap<_, String> 的默认 &str
- python - 为什么 PyArray_SimpleNewFromData 的这种琐碎用法会出现段错误?
- c++ - 使用`std::find`时,为什么错误与'operator=='不匹配?
- amazon-web-services - 让 AWS 在启动时自动将 EC2 卷附加到 Ubuntu 实例
- docker - 部署到 Kubernetes 时如何包含 Azure Function Secret?
- c++ - 如何在 vscode 中构建、运行和删除可执行文件和虚拟文件