从 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 正在帮助我,但是当 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 %} 
 }]
'>