javascriptツールチップを含むコードと、SQLデータベースから値を呼び出すphp foreach($ result as $ row)ループがあるとします。
<?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はファイルのアドレスを吐き出します。