假设您有一些代码,其中包含一个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会显示文件的地址。
发布于 2013-03-01 16:50:51
foreach ($result as $row) {
// the echo sentence
?>
<!-- script goes here -->
<?php
}请记住,在任何时候,您都可以关闭PHP标记并开始向页面输出原始数据(例如,HTML)。
发布于 2013-03-01 16:51:01
我猜这个问题可能是由于图像标记中的id属性造成的。
您需要为每个图像生成动态ids(可能来自DB),并基于此调用工具提示。
不能有相同的id多次使用一个html页面。
https://stackoverflow.com/questions/15153753
复制相似问题