从php中调用的jQuery脚本虽然循环不能正常工作

时间:2017-05-14 04:17:53

标签: php jquery mysql database while-loop

我有一个php部分页面,它从MySQL数据库中抓取图像并使用Else循环在浏览器中打印它们。单击其中一个图像时会调用jQuery函数 - 此函数应该抓取SELECT cute_news.title, cute_news.id, cute_news.avatar, cute_news.category,cute_news.date, cute_fields.YouTubeTN, cute_fields.alternate_title, cute_fields.NewsSource, cute_fields.alternate_url, cute_fields.cf_id FROM cute_news n LEFT JOIN cute_fields f ON f.cf_id = n.cf_id WHERE YEAR(FROM_UNIXTIME(cute_news.date)) = '2007' AND FIND_IN_SET ('10', cute_news.category) ORDER BY cute_news.date DESC 的{​​{1}},然后提醒用户while在弹出的内容中窗口。此src应根据点击的img进行更改。

结果页面是一系列图像及其各自的数据字段,如此快照中所示:

enter image description here

不幸的是,无论点击哪个src,都会收到相同的src,并且它似乎是从while循环打印的最后一个img

这是src点击时弹出的提醒 - 它应该对每张照片都是唯一的,但它目前是相同的来源:

enter image description here

我如何才能将img img提醒您被点击的每个img都是唯一的?

编辑:我还应该说,在while循环之外进行测试时,这个jQuery脚本似乎按预期工作 - 点击的不同图像警告不同的img属性。< / p>

src

1 个答案:

答案 0 :(得分:1)

问题是var source = ( $('.modal_img').attr("src") );这将获得与该类匹配的项的第一个src属性。但所有图像都具有相同的类别。您应该使用$(this)内的$('.img_div').on("click", function() {来引用点击的<div>。试试var source = $(this).find('img').attr('src'));,它应该会在点击的<img>项目中获得第一个img的$(this)标记src属性。