我怎样才能在里面(龙卷风)模板标签中使用jQuery选择器?

时间:2014-03-25 23:50:24

标签: jquery python html tornado

我希望我提出正确的问题。基本上,我有python / tornado应用程序,我有一个问题填充我的HTML页面中的两个组合框。我试图填充第二个组合框取决于第一个组合框中的选定值。在我的python设置文件中,我有以下结构的json数据:

data = {'A':{
            '1': {}, 
            '2': {}, 
            '3': {}
            }, 
        'B': {
             '3': {}, 
             '4': {} 
             }
       }

第一个组合框包含值A和B,如果选择A,则第二个组合框应包含1,2和3 ...我尝试加载它:

{% block filter1 %}
<select id="filter1">
{% for key in settings.data %}
    <option value="{{ key }}">{{key}}</option>
{% end %}
</select>
{% end %}

{% block filter2 %}
<select id="filter2">
{% for key in settings.data[$("#filter1").val()] %}
    <option value="{{ key }}">{{key}}</option>
{% end %}
</select>
{% end %}

问题显然是settings.data [$(“#filter1”)。val()],它既是服务器端代码又是客户端代码,我不能像那样使用它。是否有“简单”的方式来获得这种行为?我可能错过了一些明显的东西,还是应该使用一些不同的方法?

1 个答案:

答案 0 :(得分:0)

你是对的,这是问题

  

{%for settings.data [$(&#34;#filter1&#34;)。val()]%}

虽然没有办法解决这个问题。由于这将取决于客户端交互,因此处理该交互的代码必须是客户端。

这意味着您将需要使用javascript而不仅仅是服务器端代码(除非有生成此类型的javascript的帮助程序)。本质上,它将沿着脚本标记或引用,onchange事件以及某种人口逻辑,它们在页面上绘制元素或者某种json存储。