我想使用一个变量,我在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语句中执行该循环,那将如何工作?
感谢
卡尔
答案 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