gpt4 book ai didi

javascript - 将smarty数组转换为javascript数组

转载 作者:行者123 更新时间:2023-12-03 18:17:08 25 4
gpt4 key购买 nike

我有一个聪明的阵列

$promoFormData  Smarty_Variable Object (3)
->value = Array (1)
deliveryDates => Array (3)
0 => Array (2)
startDate => "2013/06/05"
endDate => "2013/06/28"
1 => Array (2)
startDate => "2013/07/05"
endDate => "2013/07/28"
2 => Array (2)
startDate => "2013/08/05"
endDate => "2013/08/28"

我想使用此数组deliveryDates作为datepicker中的可用日期。
因此,尝试将上述内容转换为以下Javascript数组
var ranges = [ { start: new Date(2013, 06, 05), end: new Date(2013, 06, 28) },
{ start: new Date(2013, 07, 05), end: new Date(2013, 07, 28) },
{ start: new Date(2013, 08, 05), end: new Date(2013, 07, 28) } ];

我尝试使用下面的代码:
 <script>
var js_array = new Array();
{{foreach from=$promoFormData.deliveryDates item=array_item key=id}}
{{foreach from=$array_item item=sub_array_item key=index}}
js_array['{{$id}}']['{{$index}}'] = '{{$sub_array_item}}';
{{/foreach}}
{{/foreach}}

console.log(js_array);
</scirpt>

我收到以下错误
     TypeError: js_array[0] is undefined
js_array['0']['startDate'] = '2013/06/05';

任何人都请以正确的方式指导我。

最佳答案

如果您的Smarty security settings允许使用(特别是在$php_modifiers中),则可以使用PHP的 json_encode 函数:

var js_array = {$promoFormData.deliveryDates|json_encode};

由于JSON是实际JavaScript对象文字语法的严格子集,因此应该为您提供有效的JS声明。

关于javascript - 将smarty数组转换为javascript数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16847114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com