如何使用SQlite在flask和javascript中查询数据,根据第一次选择中选择的值创建一个DINAMICALY select?
在这件事上我没有任何进展。任何有关这方面的帮助都将不胜感激 我是使用Flask和Javascript的新手。我在一个渲染模板中有两个查询,使用for循环显示两个表的数据(第一个名为“modulos”,第二个名为“layouts”),效果很好 但现在,我想通过查询一个SQLite数据库,使用用户在Modulos select中选择的Modulos名称,用layouts名称填充layouts select 到目前为止,我有以下代码: {%extends'base.html%}如何使用SQlite在flask和javascript中查询数据,根据第一次选择中选择的值创建一个DINAMICALY select?,javascript,html,Javascript,Html,在这件事上我没有任何进展。任何有关这方面的帮助都将不胜感激 我是使用Flask和Javascript的新手。我在一个渲染模板中有两个查询,使用for循环显示两个表的数据(第一个名为“modulos”,第二个名为“layouts”),效果很好 但现在,我想通过查询一个SQLite数据库,使用用户在Modulos select中选择的Modulos名称,用layouts名称填充layouts select 到目前为止,我有以下代码: {%extends'base.html%} {% block co
{% block contenido %}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Seleccion</title>
</head>
<body>
<select class="browser-default" id="modulos" name="modulos">
{% for modulo in modulos %}
<option class="modulos" codigo="{{ modulo['id'] }}" value="{{ modulo['id'] }}"> {{ modulo['nombre'] }} </option>>
{% endfor %}
</select>
<select class="browser-default" id="layouts" name="layouts" >
{% for layout in layouts %}
<option class="layouts" codigo="{{ layout['modulo_id'] }}" value="{{ layout['modulo_id'] }}">{{ layout['nombre'] }} </option>
{% endfor %}
</select>
</body>
</html>
{% endblock %}
{%block contenido%}
选择
{模%中的模的%}
{{模['nombre']}}>
{%endfor%}
{%用于布局中的布局%}
{{layout['nombre']}
{%endfor%}
{%endblock%}
我一直在尝试使用以下javascript代码:
我一直在这方面指导我:
var id1=document.querySelectorAll(“select.modulos”);
var id2=document.querySelectorAll(“select.layouts”);
//向id1元素添加与change函数()关联的更改事件
if(id1.addEventListener){//适用于除IE8和更早版本之外的大多数浏览器
id1.增补文本列表(“变更”,柬埔寨语);
}else if(id1.attachEvent){//对于IE 8和更早版本
id1.attachEvent(“change”,cambiar);//attachEvent()是addEventListener()的等效方法
}
//cambiar()函数的定义
函数cambiar(){
对于(var i=0;i
函数document.querySelectorAll()
返回元素列表,而不仅仅是一个元素
因此,id1.addEventListener
将无法工作!(实际上,addEventListener
函数对于DOM元素数组不存在,因此您的if
块永远不会执行)
因此,您需要使用id1[0].addEventListener
替代,或者将id1
定义为:
var id1 = document.querySelectorAll("select.modulos")[0];
这同样适用于
id2
谢谢你的回答。我试着用这个:。。var id1=document.querySelectorAll(“select.modulos”)[0];但它也不起作用
var id1 = document.querySelectorAll("select.modulos")[0];