如何解决将PHP数组传递到JavaScript中进行循环
我正在尝试将一些值从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循环在某些组合框中分配特定值。但是我这样做有问题。
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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。