我想自动检查HTML中的复选框。我已经设法让这个工作,但它在模板中有点混乱:
<ul>
{% for tag in tags %}
{% set selected = false %}
{% for article_tag in article.tags %}
{% if article_tag.id == tag.id %}
{% set selected = true %}
{% endif %}
{% endfor %}
<li><input type="checkbox" name="tags[]" value="{{ tag.id }}" {% if selected %}checked{% endif %}> {{ tag.name }}</li>
{% endfor %}
</ul>
所以我加载的数据是这样的(采用JSON格式):
[
'tags' => [
{'id'=> 1, 'name'=>'Travel'},
{'id'=> 2, 'name'=>'Cooking'},
],
'article' => {
'tags' => [
{'id'=> 1, 'name'=>'Travel'},
],
}
]
另外,我没有使用Symfony(我正在使用Slim的Twig库)所以不确定Symfony是否在它的框架中有一些用Twig做东西的东西。如果是这样,它对我不起作用:(
答案 0 :(得分:1)
问题是该文章是一个数组,所以或者您需要为每个包含的标记数组循环,或者您只需访问第一个元素,如下所示:
{% for article_tag in article[0].tags %}
而不是:
{% for article_tag in article.tags %}
希望这个帮助