簡體   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