【问题标题】:CodeIgniter View Input QuestionsCodeIgniter 查看输入问题
【发布时间】:2013-11-21 05:42:11
【问题描述】:

所以,我为一个利用 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 可以轻松读取的值数组,而无需对索引进行硬编码。

【问题讨论】:

  • 我们需要查看一些代码和错误/问题...。请尽量让您的问题尽可能简洁
  • 抱歉,不熟悉StackExchange的代码展示方式,我会编辑下来。
  • 这太模糊了
  • $speaking_location 回显什么样的代码???

标签: javascript php jquery mysql codeigniter


【解决方案1】:

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

以下应该有效:

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

【讨论】:

  • 非常感谢!我可以使用解决方法的所有其他内容。仍然需要研究为单选按钮设置默认值以及如何从下拉列表中预选值,但这是主要障碍。非常感激!如果我能对此表示赞同,我会的。
  • @JonasJSchreiber 没问题,伙计!我记得这一点,因为我也经历过这些事情。你可以对此表示赞同。如果您在其他地方需要帮助,请告诉我。设置默认值非常简单,CodeIgniter 中有相关规定。
  • 显然我需要 15 声望才能投票。在上面添加了您的修复和跟进。我只是要在 OP 中添加“Aniket 的礼貌”。
  • @JonasJSchreiber 不需要那个伙伴。这是语言的标准逻辑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-11
  • 2011-01-29
  • 1970-01-01
相关资源
最近更新 更多