【问题标题】:How to pass a php variable value in jquery selector?如何在 jquery 选择器中传递 php 变量值?
【发布时间】: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" alt="CR1" name="room-1">

【问题讨论】:

  • 我想将 $loc (php 变量) 的值传递给 jquery 选择器来代替 '#cr1'。在倒数第二行!请帮忙
  • 为什么不能简单地将$('#cr1') 改为$('#&lt;?php echo $loc; ?&gt;')
  • 哦,非常感谢它有效,我实际上是 jquery 新手,没想到我可以在脚本标签中传递 php 代码...

标签: php jquery mysql jquery-selectors


【解决方案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
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-17
  • 1970-01-01
  • 1970-01-01
  • 2013-06-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多