是否可以将php变量插入到js代码中?
可能重复:
将变量从php传递给javascript
我正在动态生成一个列表。 我想让每一行都hover在鼠标hover上并可点击链接。 我希望链接传递行内容的id。
基本上:
foreach ($courses as $cid=>cinfo){ $univ = $cinfo['univ']; $desc = $cinfo['desc']; $size = $cinfo['size']; $start = $cinfo['start']; print ""."$desc
"."$univ
". "Number of students: $size
". "Started at: ".date('F d, Y',strtotime($start))."
". } $(function () { $('#rc_desc$cid').hover(function () { $(this).toggleClass('.tr'); }); $('#rc_desc$cid').click(function () { $(location).attr('href','student.php?$cid'); }); });
问题出在js / jquery中。 我希望能够获取$ cid并在点击后将其传递给student.php页面。 上面的PHP代码有效,但js当然不会。 我知道客户端和服务器端语言的基础。 这个问题不值得讲课。 我知道我不能完全做到这一点,但这是我最终想要发生的事情。 我对如何实现这一点的想法很简单? 在此先感谢我的朋友!
是的,如果在PHP代码中包含
部分,则可以执行类似以下操作:
在您的情况下,您将查看以下代码结构:
这是可能的原因是因为虽然Javascript是在客户端运行的,但它在服务器端首先在页面上呈现之前进行处理。 因此,它将用您包含的$cid
替换所有必需的$cid
实例。
享受,祝你好运!
编辑 :
你可以这样做:
$(location).attr('href','');
javascript代码不知道它来自php,它显示为常量(文字)。
对的,这是可能的。 你所要做的就是把你的
在你需要的地方
这是可能的,因为在将脚放入页面时,cid已经被服务器上的字符串替换。 由于PHP是服务器驱动的,在它回吐html /脚本之前就像你自己把它放进去一样。
实际上几乎没有办法实现PHP和JavaScript的通信。 但是,最好和最简单的方法是在属性中设置ID。 新的HTML5数据属性将是完美的。
例如,有一个锚标记
some event
然后:
$(this).attr('href','student.php?'+$(this).attr('data-id'));
或者只是使用
如果不是外部JS文件
试试这个代码
foreach ($courses as $cid=>cinfo){ $univ = $cinfo['univ']; $desc = $cinfo['desc']; $size = $cinfo['size']; $start = $cinfo['start']; print ""."$desc
"."$univ
". "Number of students: $size
". "Started at: ".date('F d, Y',strtotime($start))."
". }
我想你阻止应该是:
UPDATE
但你真的不需要这样做,你有
""."$desc
"."$univ
". "Number of students: $size
". "Started at: ".date('F d, Y',strtotime($start))."
".
你可以试试这个
$(function (){ $('.rc_desc').hover(function () { $(this).toggleClass('.tr'); }); $('.rc_desc').click(function () { attrId = $(this).attr("data-id"); $(location).attr('href','student.php?'+id); }); });