Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用SQlite在flask和javascript中查询数据,根据第一次选择中选择的值创建一个DINAMICALY select?_Javascript_Html - Fatal编程技术网

如何使用SQlite在flask和javascript中查询数据,根据第一次选择中选择的值创建一个DINAMICALY select?

如何使用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

在这件事上我没有任何进展。任何有关这方面的帮助都将不胜感激

我是使用Flask和Javascript的新手。我在一个渲染模板中有两个查询,使用for循环显示两个表的数据(第一个名为“modulos”,第二个名为“layouts”),效果很好

但现在,我想通过查询一个SQLite数据库,使用用户在Modulos select中选择的Modulos名称,用layouts名称填充layouts select

到目前为止,我有以下代码:

{%extends'base.html%}

{% 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];