Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
循环工作不正常时从php中调用jQuery脚本_Php_Jquery_Mysql_Database_While Loop - Fatal编程技术网

循环工作不正常时从php中调用jQuery脚本

循环工作不正常时从php中调用jQuery脚本,php,jquery,mysql,database,while-loop,Php,Jquery,Mysql,Database,While Loop,我有一个php部分页面,它从MySQL数据库中获取图像,并使用while循环在浏览器中打印它们。当我单击其中一个图像时,会调用jQuery函数——该函数应该获取img的src,然后在弹出窗口中提醒用户该src是什么。此src应根据单击的img进行更改 生成的页面是一系列图像及其各自的数据字段,如本快照所示: 不幸的是,无论单击哪个img,都会向同一个src发出警报,并且它似乎是从while循环打印的最后一个img 这是img点击时弹出的警报-对于每张照片都应该是唯一的,但目前的来源是相同的: 我

我有一个php部分页面,它从MySQL数据库中获取图像,并使用while循环在浏览器中打印它们。当我单击其中一个图像时,会调用jQuery函数——该函数应该获取img的src,然后在弹出窗口中提醒用户该src是什么。此src应根据单击的img进行更改

生成的页面是一系列图像及其各自的数据字段,如本快照所示:

不幸的是,无论单击哪个img,都会向同一个src发出警报,并且它似乎是从while循环打印的最后一个img

这是img点击时弹出的警报-对于每张照片都应该是唯一的,但目前的来源是相同的:

我怎样才能得到这个img src,它被提醒对于每个被点击的img都是唯一的

编辑:我还应该说,当在while循环之外进行测试时,这个jQuery脚本似乎按照预期工作——单击的不同图像会提醒不同的src属性

 <div id="screenings">
    <?php

        //MySQL database connection established

        ...

        while ($row = mysqli_fetch_array($result)){
            echo "<div class='img_div'>";
                echo "<img class='modal_img img_screenings' ng-click=\"vm.openModal('custom-modal-1')\" src='images/".$row['image']."' >";

                ...

            echo "</div>";
        }
    ?>
 </div>

 <modal id="custom-modal-1">
     <div class="modal">
        <div class="modal-body">
                <img id="popup_img" src="#">
        </div>
     </div>
     <div class="modal-background"></div>
</modal>

<script>
    $('.img_div').on("click", function() {
        var source = ( $('.modal_img').attr("src") );
        alert(source);
        $('#popup_img').prop('src', this.src);
    });
</script>

问题是var source=$'.modal_img'.attrsrc;这将获得与类匹配的项的第一个src属性。但是所有的图像都有相同的类别。您应该在$'.img\u div.onclick函数中使用$this{要引用单击的.Try var source=$this.find'img'.attr'src';它应该得到$this项。

PHP和while在这里是不相关的,你能把生成的源添加到问题中吗。我想你应该用$this来代替$'.modal_img',但我需要测试一下,我很少使用jsp。你的意思是说这个部分在完整的html上下文?echo和其他PHP生成了什么?啊,我明白了-使用上下文快照进行更新。我正在尝试构建一个模式弹出窗口来处理这些图像。还添加了警报弹出窗口的图片是的,就是这样。谢谢!