1

我想在我的网页中对选择的元素(HTML SELECT 元素)进行动态过滤。

我的第一个列表已经设置好了,我想在我的第一个选择上更改我的第二个列表(HTML 选择元素)的内容。

但要做到这一点,我需要document.getElementByid在 jinja2 中使用 ( javascript ) 的结果作为动态变量,如下所示:

document.getElementById('select02').innerHTML = 
"{% for i in context.get(document.getElementById('select02').value) %}
<option {{'selected' if package == 1 else ''}} value='{{i}}'>{{i}}</option>
{% endfor %}";

要生成页面,我使用带有 jinja2 模板的 python 脚本。

有人已经用过这个功能了吗?

4

1 回答 1

3

假设context是一个字典,你必须把所有的东西都放到你的页面中,也许是通过 JSON。然后您需要编写 javascript 函数来 1) 获取用户为第一个列表选择的内容(此处列表表示 html 选择元素) 2) 使用 1) 中的值更新第二个列表。使用 javascript 事件,最好让 2) 在第一个列表的每个用户交互(更改、单击)时触发。

请记住,您不能将服务器端代码(jinja2 模板)与客户端代码(javascript)混合使用!

于 2013-08-02T14:47:39.127 回答