javascript - 将 PHP 数组传递给 JavaScript for 循环
问题描述
我正在尝试将 PHP 数组中的一些值传递给 JavaScript。
我的 php 变量$contacts_info
具有以下值。
Array ( [0] => Array ( [contact_id] => 20 [type_id] => 2 [contact_type] => Representative Phone [contact_value] => 0987654321 )
[1] => Array ( [contact_id] => 21 [type_id] => 4 [contact_type] => Shop Address [contact_value] => 0987654321 )
[2] => Array ( [contact_id] => 22 [type_id] => 3 [contact_type] => Emergency Phone [contact_value] => 0987654321 )
[3] => Array ( [contact_id] => 23 [type_id] => 2 [contact_type] => Representative Phone [contact_value] => 0987654321 )
[4] => Array ( [contact_id] => 24 [type_id] => 3 [contact_type] => Emergency Phone [contact_value] => 0987654321 )
[5] => Array ( [contact_id] => 25 [type_id] => 4 [contact_type] => Shop Address [contact_value] => 0987654321 ) ) 1
我正在尝试使用 JavaScript 在带有 for 循环的某些 Combobox 中分配特定值。但我这样做有问题。
Type: ParseError
Message: syntax error, unexpected '<', expecting ']'
我的 JavaScript 代码:
<script>
var total_counter = "<?php echo $total_contact; ?>";
var contact_info = "<?php json_encode($contacts_info); ?>";
for (var i = 0; i <= total_counter - 1; i++) {
let element = document.getElementById("contact_type_id_" + i);
element.value = "<?php echo $contacts_info[<script>document.writeln(i);</script>]['type_id'] ?>";
}
</script>
问题出在这部分<?php echo $contacts_info[<script>document.writeln(i);</script>]['type_id'] ?>
。任何人都可以帮我解决它。
谢谢你。
解决方案
请执行以下操作,
您需要删除包含 PHP 脚本的双引号,将其
""
视为字符串。<?php echo json_encode($contacts_info); ?>
丢失echo
,因为 JSON 数组没有得到回显,因此可以将其分配给 javascript 变量contact_info
该变量
contact_info
已经有您的 JSON 数组,无需再次从 PHP 变量中获取它,
最终你的代码应该看起来像,
<script>
var total_counter = <?php echo $total_contact; ?>;
var contact_info = <?php echo json_encode($contacts_info); ?>;
for (var i = 0; i <= total_counter - 1; i++) {
let element = document.getElementById("contact_type_id_" + i);
element.value = contact_info[i].type_id ;
}
</script>
推荐阅读
- reactjs - 作为函数或常量的无状态组件
- excel - 使用 selenium 将文件下载到特定目录
- ios - 如何以编程方式制作可重用的 UILabel 和 UITextField
- javascript - electron app.on() 未定义错误,如何解决?
- css - 预定义的 CSS 类不起作用 ionic3
- mongodb - 在 Mongo 中投影嵌套文档
- java - 如何在 Intellij 的依赖项中查看源代码(包括注释)
- java - 函数 listitem.getMeasuredHeight() 只给我一行的高度,因为 listitem 是 edittext
- selenium - 在 Katalon Studio 中计算项目、行、用户等
- jquery - 将另一个网站嵌入我的网站的方法