【发布时间】:2021-01-29 07:31:16
【问题描述】:
我有一个Smarty foreach 循环,在其中我尝试推送到一个名为arrayPorperties 的JavaScript array。但是arrayPorperties 的内容只是获得了所有先前值的最后一个值被覆盖。任何解决方案?
注意:assign 必须在循环内完成,因为它是从 Smarty 数组 user_properties 获取值,否则它将无法工作
<script type="text/javascript">user_properties = [];</script>
{foreach from=$user_properties item="user"}
{assign var='tmp_coords' value=$user->get_coords()}
<script>
user_properties.push(
['{$tmp_coords[0]}', '{$tmp_coords[1]}', '{$user->get_name()}', '{$user->get_id()}']
)
</script>
{/foreach}
【问题讨论】:
-
您的代码看起来运行良好。你能发布你的结果吗?还有
$user_properties -
请在循环浏览器中发
view-source -
这是Smarty问题,还是JS问题?您尝试过调试哪些部分出了问题?
-
@NicoHaase 这是Smarty问题,JS应该没问题。
-
那么请编辑您的问题以包含更多信息。生成的 JS 应该是什么样子?如果您知道结果应该如何,为什么不更改 Smarty 代码以生成该标记?
标签: javascript arrays smarty