我需要通过html数据属性向JS发送几个值。
<div class="article"
data-article="[{% for data in article %}{{ data }},{% endfor %}]"
>
我使用foreach来获取现有关联数组的每个元素,以创建一个属于数据属性的新元素。
这很有效但我想在这个案例文章中发送整个数组,如果有某种方式
我知道数组可以通过数据HTML属性发送,但我想知道我是否可以合理地发送关联数组以避免一个html元素中的多数据属性。
答案 0 :(得分:1)
在这种情况下我会使用JSON
使用php使用
构建html时 data-article=JSON_encode($yourarray)
现在html将拥有该数组。您可以使用
在JS中解码它 JSON.parse($("div.article")[0].dataset.article)
答案 1 :(得分:0)
我从消化不良中获得了解决方案。
JSON正在帮助我,但是当symfony twig呈现数组时,我再次必须在foreach中执行此操作
我这样做
data-article='[{ {% for key,value in article %}{% if i > 0 %},{% endif %}"{{ key}}":"{{ value }}"{% set i = i+1 %}{% endfor %} }]'>
必须在一行
{% set i = 0 %}
data-article='
[{
{% for key,value in article %}
{% if i > 0 %},{% endif %}
"{{ key}}":"{{ value }}"
{% set i = i+1 %}{% endfor %}
}]
'>