function al(){
var selr = jQuery('#grid').jqGrid('getGridParam','selrow');
if(selr){
<?
include_once("../../DB/singleton.php");
$pDatabase = Database::getInstance();
$c = $pDatabase->query("select c.city_title as 'City' from teamshuffle.tbl_city c, teamshuffle.tbl_sport_city s where c.tblcity_id = s.tblcity_id and s.tblsport_id = " . );
while($r = mysql_fetch_array($c)){
echo("alert(\"" . $r[0] . selr . "\");");
}
?>
}
}
这是我的javascript函数。我需要在行
中访问变量“selr”echo("alert(\"" . $r[0] . $d . "\");");
答案 0 :(得分:1)
简答:你做不到。 PHP是服务器端,JavaScript是客户端。
长答案:
您可能无法“访问”变量,但您可以在ajax请求中将值发送到PHP页面所需的任何内容并在那里使用它。作为POST参数或Query参数。
答案 1 :(得分:1)
在PHP中访问JS变量是不可能的。但是,您可以使用PHP生成javascript,它看起来像这样,并按照您的预期执行:
while($r = mysql_fetch_array($c)){
echo 'alert("' . $r[0] . '" + selr);';
}
请注意+ selr
是echo的一部分,因此它被发送到浏览器,javascript在客户端执行字符串连接。
如果您不明白我的意思,请在浏览器中查看生成的HTML源代码。
答案 2 :(得分:0)
不,你不能这样做。 PHP在服务器上运行,Javascript - 在客户端的浏览器中。他们必须通过HTTP请求进行通信。
答案 3 :(得分:0)
您必须将ajax请求发回服务器并发送适当的响应。
答案 4 :(得分:0)
抱歉,没有测试过,只是猜测一下。尝试使用cookies;
function al(){
var selr = jQuery('#grid').jqGrid('getGridParam','selrow');
setCookie("selr", selr, 1);
if(selr){
<?
include_once("../../DB/singleton.php");
$pDatabase = Database::getInstance();
$c = $pDatabase->query("select c.city_title as 'City' from teamshuffle.tbl_city c, teamshuffle.tbl_sport_city s where c.tblcity_id = s.tblcity_id and s.tblsport_id = " . );
while($r = mysql_fetch_array($c)){
echo("alert(\"" . $r[0] . $_COOKIE['selr'] . "\");");
}
?>
}
}
function setCookie(c_name,value,exdays){
var exdate = new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value = escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}