1

我有一个显示来自数据库的图像的 sql 循环。然后我将所有图像的路径放在一个 js 数组中。我将其传递给 onClick 函数。哪个工作正常。但我的问题是我可以在每次循环迭代后将计数值传递或关联到相应的图像

即,如果我单击第一个图像“0”,则将其传递给函数,以便我可以使用它从数组中获取相应的图像路径。

提前感谢您的帮助。

            <script type="text/javascript">
            var pathArray=new Array();
            var count = -1;
        </script>
        <?php
        while($row = mysqli_fetch_array($result)) 
            {
            ?>  
                <script type="text/javascript">
                    path = '<?php echo $row['path'];?>'; 
                    pathArray.push(path); 
                    count++;    
                </script>  

                <div id="displayimage"><a href="#"><img src="<?php echo $row['path'];?>" width="200px" height="156px" style="border:solid 2px white;margin-left:15px;" onclick="openImages(pathArray,count);"></a></div>    

                <?php
                    $i++;
                    if($i % 3 === 0)
                    {
                    echo "<br /><br /><br />";          
                    } 
            }  
4

1 回答 1

1

您所要做的就是将服务器端变量放入对以下的调用中openImages

onclick="openImages(<?php echo $i; ?>);"

然后,使openImages函数以整数作为参数(删除其他的,它们不需要):

function openImages(i) {
    alert(path[i]);
}

或者,也许简单地将路径作为参数发送会更容易?然后你可以完全从循环中删除脚本块。(也就是说,假设您没有其他用途pathArray。)

onclick="openImages('<?php echo $row['path']; ?>')"
于 2013-07-18T21:03:38.747 回答