0

假设您有一些代码,其中包括一个 javascript 工具提示和一个 php foreach ($result as $row) 循环,该循环从 sql 数据库中调用值,如下所示,

     <?php

   foreach ($result as $row) {
       $link = $qs->link($row,'item');
       $logoImage = $qs->getLogo($row->file_id);

       echo "<ul class=\"imggrid\"><li><a class=\"ItemLink\" href=\"$link\"><img width=\"80\" height=\"80\" src=\"" . $logoImage . "\" /></a></li></ul>";

?>
<script type="text/javascript">
  jQuery(function() {
    jQuery( document ).tooltip({ hide: "true", show: "false", 
      content: function() {
        if ( jQuery(this).is( "img[src='<?php echo $logoImage ?>']" ) ) {
          return "<img class='map' src='<?php echo $logoImage ?>'><a><?php echo $qs->abbreviate($row->title,50); ?></a>";
        }
              }
    });
  });
  </script>

<?php

   }
   ?>

这过于简单了,但是 php 会吐出一个图片网格,我希望工具提示在悬停时显示每张图片的更大版本。现在它只显示网格中所有图片的第一张图片。我假设这是因为脚本在循环之外。但是我可以将脚本扔到 foreach 循环中吗?

任何建议或帮助都会很棒。请记住,我是这方面的新手。

编辑:我添加了有问题的代码部分。

编辑 2:好的,我已经更新了这段代码,但现在它什么也没显示。我认为这会起作用,因为我正在使用 src = $logoImage 选择 img 元素,其中 $logoImage 会吐出文件的地址。

4

2 回答 2

0
foreach ($result as $row) {
  // the echo sentence
  ?>
  <!-- script goes here -->
  <?php
}

请记住,在任何时候,您都可以关闭 PHP 标记并开始将原始数据(例如 HTML)输出到页面。

于 2013-03-01T08:50:50.627 回答
0

我猜这个问题可能是因为id你的图像标签中的属性。

您需要为每个图像生成动态 id(可能来自 DB),并基于此来校准工具提示。

一个 html 页面不能有相同的 id 使用多次。

于 2013-03-01T08:51:00.990 回答