-2

首先,我为标题道歉,因为它可能不是我想说的,但它是我能想到的最相关的一个。

我正在运行 mybulletin board 软件,并且正在创建一个自定义页面。我有一个 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."\";");
?>

我希望我对我的问题足够清楚。有什么办法可以解决吗?

4

1 回答 1

0

您在这里缺少 ]:{$asd[event.target.id}

编辑:确实,这并不能解决所有问题。发生的情况是您的 event.target.id 仅在单击“.boxed”时定义,但 PHP 已经呈现并执行,因此您将无法再次访问它。所以它不会按照你想要的方式工作。在这种情况下,最好的选择是让 PHP 在脚本中渲染一个 JS 数组。像这样的东西:http: //pastebin.com/UdyuG1js 这样你处理一个 JS 变量,而不是一个 PHP 变量。

于 2014-06-17T20:19:12.503 回答