如何在 jquery 选择器中传递 php 变量值?
Posted
技术标签:
【中文标题】如何在 jquery 选择器中传递 php 变量值?【英文标题】:How to pass a php variable value in jquery selector? 【发布时间】:2012-12-04 14:04:07 【问题描述】:我想突出显示映射图像中其 id 是从 mysql 数据库中检索到的部分。 我已将 id 存储在 $loc 变量中。现在使用 jquery 选择器,我想在我的 jquery 选择器中传递这个 php 变量,以便它突出显示与 $loc 中具有相同 id 的图像部分。 这是我的工作代码:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.maphilight.js"></script>
<script type="text/javascript">
$(function ()
$(".mapping").maphilight();
$(".hoverable").css("border", "3px solid red");
var data = $('#cr2').data('maphilight') || ;
data.alwaysOn = !data.alwaysOn;
$('#cr1').data('maphilight', data).trigger('alwaysOn.maphilight'); // portion to always highlight (I WANT TO PASS THE PHP VARIABLE $LOC INSTEAD OF '#CR1'
);<area shape="poly" id="cr1" class="room" coords="549,272,489,334,534,377,594,316" href="www.msn.com" target="_top" name="room-1">
【问题讨论】:
我想将 $loc (php 变量) 的值传递给 jquery 选择器来代替 '#cr1'。在倒数第二行!请帮忙 为什么不能简单地将$('#cr1')
改为$('#<?php echo $loc; ?>')
?
哦,非常感谢它有效,我实际上是 jquery 新手,没想到我可以在脚本标签中传递 php 代码...
【参考方案1】:
将 #cr1 替换为 #<?php echo $loc ?>
代替:
$('#cr1').data('maphilight', data).trigger('alwaysOn.maphilight');
用途:
$('#<?php echo $loc ?>').data('maphilight', data).trigger('alwaysOn.maphilight');
【讨论】:
您可能还需要选择器中的#
。
@Matt 我在 Twitter 上关注你【参考方案2】:
您可以使用json_encode
函数并将php变量$loc
作为参数传递
例如
var data = <?php echo json_encode($loc); ?>;
jQuery.each(data, function(i,event)
// alert(event.toSource());
var id = event.id; // here id is the array of the value based on the php variable for $loc
badge_name = event.name; // here name is the array of the value based on the php variable for $loc
);
【讨论】:
我让它工作了,只是通过在 jquery 选择器中回显 php 变量。当可以在短代码中完成时,为什么要使用长代码:) @Matt以上是关于如何在 jquery 选择器中传递 php 变量值?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Jquery 变量值发送或分配给 php 变量? [复制]
具有变量值的 nth-child 选择器选择资源管理器中的所有元素