foreach循环中的Javascript

时间:2013-03-01 08:48:14

标签: php javascript

假设您有一些代码,其中包含一个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会吐出文件的地址。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

我想问题可能是因为您的图片代码中存在id属性。

您需要为每个图像生成动态ID(可能来自数据库),并根据该工具提示来校准工具提示。

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