如何在 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') 改为$('#&lt;?php echo $loc; ?&gt;') 哦,非常感谢它有效,我实际上是 jquery 新手,没想到我可以在脚本标签中传递 php 代码... 【参考方案1】:

#cr1 替换为 #&lt;?php echo $loc ?&gt;

代替:

$('#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 选择器选择资源管理器中的所有元素

在 JQuery 中调用/获取 php 变量值

如何在javascript中的不同html页面之间传递变量值

将变量值从 JS 传递给 PHP

关于php读取js的变量值问题