繁体   English   中英

foreach循环内的Javascript

[英]Javascript inside foreach loop

假设您有一些代码,其中包括javascript工具提示和php foreach($ result为$ 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会吐出文件的地址。

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

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

我猜问题可能是由于您的图片标签中包含id属性。

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

一个HTML页面不能多次使用相同的ID。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM