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 . "'");");
简短的回答:你不能。PHP是服务器端,JavaScript是客户端。
长答:
您可能无法"访问"该变量,但您可以在ajax请求中将该值发送到任何需要它的PHP页面并在那里使用它。作为POST参数或Query参数
在PHP访问JS变量是不可能的。不过,你可以用PHP生成如下所示的javascript,它的功能如下所示:
while($r = mysql_fetch_array($c)){
echo 'alert("' . $r[0] . '" + selr);';
}
注意+ selr
是echo的一部分,所以它被发送到浏览器,javascript在客户端执行字符串连接。
如果你不明白我的意思,请在浏览器中查看生成的HTML源代码。
不,你不能这么做。PHP在服务器上执行,Javascript在客户端的浏览器中执行。它们必须通过HTTP请求进行通信。
您必须向服务器发出ajax请求并发送适当的响应。
对不起,还没有测试过,只是一个猜测。尝试使用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;
}