【问题标题】:Jquery upload function doesn't work for multiple images on 1 pageJquery 上传功能不适用于 1 页上的多个图像
【发布时间】:2012-02-03 10:16:47
【问题描述】:

工作原理: 我正在尝试使用 Jquery/Ajax 创建即时上传功能。当用户双击图像时,会出现一个带有上传字段的 Fancybox。选择图片后,图片上传,点击图片的来源立即改变。

问题: 当一个页面上有多个图像时,有时另一个图像会被新图像(随机)替换。

代码:

function uploader(thumb) {
new AjaxUpload('imageUpload', {
    action: 'uploader.php',
    name: 'file',
    onComplete: function(file, response) {
        thumb.attr('src', response);
        $.fancybox.close();
    }
});
}

$("img").dblclick(function(){
    var img = $(this);
    $.fancybox({
        href: '#imageUpload',
        overlayShow: true
    });
    uploader(img);
    return false;
});

我尝试过的: 当我提醒应该替换的图像的 ID 时,它总是提醒图像的正确 ID。它仍然会替换另一个图像。

问候, 博

【问题讨论】:

  • src开关前放一个断点,看看thumb是否指向正确的元素
  • 我在src 开关之前添加了这个:alert(thumb.attr('id'));。它确实会提醒错误的 ID。但是如何解决这个问题?看来$(this); 没有正确传递给uploader() 函数?

标签: php jquery ajax upload fancybox


【解决方案1】:

获取点击图片引用的方式不好。您应该从传递给处理程序的事件对象中提取单击的元素。

$('img').dblclick(function(event) {
   var img = $(event.target);
   ...
});

【讨论】:

  • 谢谢。我试过这个,但我得到了相同的结果。当我在上面的代码之后提醒img.attr('id') 时,它总是给出正确的 ID。但它在 uploader() 函数中“丢失”了。
猜你喜欢
  • 2013-03-02
  • 1970-01-01
  • 2012-02-05
  • 1970-01-01
  • 2015-01-01
  • 2012-07-24
  • 2021-10-28
  • 2019-09-21
  • 1970-01-01
相关资源
最近更新 更多