首先,我为标题道歉,因为这可能不是我想说的,但这是我能想到的最相关的标题。
我正在运行我的公告板软件,我正在创建一个自定义页面。我有一个php数组,我想打印它基于event.target.id。下面是我的代码(去掉不相关的信息):
<?php
$asd = array(1 => "");
$asd[1] = 1;
$template='<html>
<head>
{$headerinclude}
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function($){
$(".boxed").click(function(event) { //This is called, I just removed the .boxed code
alert(event.target.id); //This alerts 1
alert("{$asd[event.target.id]}"); //This should alert 1 but it doesnt
event.stopPropagation();//the code below does not matter just mybb things
});
});
</script>
</head>
<body>
{$header}
{$footer}
</body>
</html>';
$template=str_replace("'", "'", addslashes($template));
add_breadcrumb($pages['name']);
eval("$page="".$template."";");
?>
我希望我足够清楚我的问题是什么。有什么办法能修好它吗? 这里少了一个]:{$asd[event.target.id}
编辑:这并不能解决所有问题。发生的情况是,您的event.target.id仅在"。单击box",但是PHP已经呈现并执行了,所以您不会再像这样访问它。所以它不会按你想要的方式工作。在这种情况下,最好的选择是让PHP在脚本中呈现一个JS数组。像这样:http://pastebin.com/UdyuG1js这样你处理的是JS变量,而不是PHP变量。