javascript - jquery 无法识别 PHP 变量

标签 javascript jquery codeigniter

在我的 javascript 中,我试图通过 html 名称标签传递 php 变量。该 html 已附加到我选择的选项中。

$("#a"+$selected.val()).append('<input type="hidden" name="<?php echo $event_id; ?>" value="'+$selected.text()+'">');

这里是整个js函数,看看是怎么回事http://laravel.io/bin/Edz25

现在,我知道一个事实,并在我的观点中测试了 $event_id 通过在我的 Controller 中执行以下操作并在 View 中回显变量来返回一个数组。

print_r($event_id);
die();

Controller :

$data['event_id'] = $this->model_location->get_event_id();

型号:

public function get_event_id()
{

    $this->db->select('id');
    $query = $this->db->get('table_eventcards');

    return $query->result_array();


}

现在我不确定为什么我的 javascript 中的变量没有输出任何内容。

这是我检查元素时的输出。

<li data-value="28" id="a28">Event title<input type="hidden" name="<?php echo $event_id; ?>" value="Event title"></li>

如果这有帮助,这是我的控制台日志 http://postimg.org/image/owtz3v8h7/

我真的需要解决这个问题并感谢所有帮助。

最佳答案

HTML 中包含的 .js 文件不会被 PHP 解析,为此,您可以使用 < script> 标签并写入此变量,例如:

首先,在 php 文件中写入变量:

mypage.php

 <script>
     var MY_VAR = "<?php echo $myVar; ?>";
 <script>
 <script type="text/javascript" src="my_script.js"></script>

然后你可以在你的js文件中使用这个变量:

my_script.js

$("#a"+$selected.val()).append('<input type="hidden" name="' + MY_VAR + '" value="'+$selected.text()+'">');

经过测试的示例:

<?php
     $myVar = 1;
 ?>

 <script>
     var MY_VAR = "<?php echo $myVar; ?>";
     alert(MY_VAR);
 </script>

警报输出将为“1”

关于javascript - jquery 无法识别 PHP 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26128809/

相关文章:

php - 如何在 codeigniter 的 session 中设置数组?

javascript - 从 JQuery 附加 Laravel Blade

javascript - clearInterval 不适用于随机播放功能

javascript - Angular Keycloak 登录(静默)

javascript - 在 Javascript SDK 中启用 OAuth 2 后,auth.sessionChange Facebook 事件停止工作

javascript - 流畅的动画javascript堆叠进度条不闪烁

javascript - 我如何优化此 CSS3/许多图像以提高性能?

javascript - 如何在jquery中获取可放置div的索引位置

mysql - AR 获取自己的帖子和 friend 的帖子

php - 使用 Codeigniter 的 ActiveRecord 语法构建包含 UNION 和子查询的 SELECT 查询