在我的 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/