将关联数组从HTML发送到JS


Send associative array from HTML to JS

我需要通过html数据属性向JS发送一些值。

 <div class="article"
       data-article="[{% for data in article %}{{ data }},{% endfor %}]"
>

我使用foreach来获取现有的关联数组的每个元素,以创建一个新的数据属性。

这个效果很好但是在这里我想发送整个数组如果有办法的话

我知道数组可以通过数据HTML属性发送,但我想知道我是否可以发送关联数组的原因,以避免多个数据属性在一个HTML元素

在这种情况下我将使用JSON

使用PHP构建HTML时使用

    data-article=JSON_encode($yourarray)

现在html就有数组了。你可以用

在JS中解码它
   JSON.parse($("div.article")[0].dataset.article)

我从会计建议中得到了解决方案。

JSON是帮助我,但我必须再次做foreach时symfony树枝渲染数组

我是这样做的

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 %} 
 }]
'>