在javascript和html中使用变量

时间:2015-07-02 06:16:58

标签: javascript jquery html flask

我想使用一个变量,我在javascript代码中通过flask传递给html模板。这是一个例子:我有一个列表,我传递给html模板,并在该列表上运行for循环

<body>
   {% for group in groups %}
      <input class="group_sel" type="checkbox" id="{{ group[0] }}" name="groupstoselect[]" value="{{ group[0] }}">{{ group[0] }}
      </input><br>
   {% endfor %} 
</body>

这里我有一个列表(组)并循环遍历该列表。我的问题是,如果我想在jquery语句中执行该循环,那将如何工作?

感谢

卡尔

2 个答案:

答案 0 :(得分:0)

服务器端模板生成具有相同类.group_sel的复选框列表。现在在客户端上,您可以选择此集合并使用以下代码循环:

$('.group_sel').each(function() {
    console.log( this.value );
});

另外请确保您的HTML有效,请删除</input>,它应该是:

{% for group in groups %}
    <input class="group_sel" type="checkbox" id="{{ group[0] }}" name="groupstoselect[]" value="{{ group[0] }}"> {{ group[0] }}
    <br>
{% endfor %} 

答案 1 :(得分:0)

如果您只想将Jinja移动到与在html中定义它的方式相同的javascript,那么Theres没有太大的变化。

<script type="text/javascript">
    var d = {{ groups }}
    d.forEach(function(entry) {
       console.log(entry);
    });

您可能需要将|safe过滤器添加到组中。 {{ groups|safe }}

安全过滤器明确地将字符串标记为&#34; safe&#34;,即,如果启用了自动转义,则不应自动转义该字符串。见http://jinja.pocoo.org/docs/dev/templates/#working-with-automatic-escaping