1

因此,我为利用 CodeIgniter 的网站创建了一个 html/javascript 表单。收集的数据被插入到 MySQL 数据库中。下次用户返回该表单时,我想用数据库中的数据重新填充该表单。因此,运行了一些 MySQL,视图的调用如下:

$this->load->view('my_view', $data);

我可以将 $data 数组中的元素插入到 html 中,例如:

 <h2><?php echo $somevariable ?></h2>

但是我如何引用来自 JS 部分的 $data[] 数组的变量呢?我试过这样的事情:

if (<?php echo $somevariable ?> == 'Yes') { //do something  }


编辑:这是通过将比较的左侧用引号括起来解决的(谢谢 Aniket!)

if ('<?php echo $somevariable ?>' == 'Yes') { //do something  }

这种繁琐的处理方式要归功于 CodeIgniter 在 Controller 和 View 之间的数据数组上调用 PHP 的 extract() 函数。数组不再是真正的数组,而是一组具有匹配值的变量。我想知道是否有办法摆脱这种情况。它将使编码人员只需将 $data 数组转换为 JavaScript 可以轻松读取的值数组,而无需对索引进行硬编码。

4

1 回答 1

1

您所做的是正确的,但是当 PHP 使用 输出某些内容时echo,它只是显示为纯文本。您需要将其转换为字符串。

以下应该有效:

if ('<?php echo $speaking_location ?>' == 'Yes') { //do something  }
于 2013-11-09T04:43:22.013 回答