从输入文件中显示预览图像

时间:2016-02-22 13:14:55

标签: jquery

问题在于“这个”,如果我将其更改为“#photo1”,图像将能够显示。

我有一些文件输入,这就是我需要编辑代码的原因。我不知道发生了什么。

$(".pro-set-up-photo-preview").hide();

    $("#photo1").change(function () {
        var reader = new FileReader();

        reader.onload = function (e) {
            // get loaded data and render thumbnail.
            $(this).next().next("img").attr('src', e.target.result);
        };

        // read the image file as a data URL.
        reader.readAsDataURL(this.files[0]);
        $(this).next().next("img").show();
    });

这是我的CODE

1 个答案:

答案 0 :(得分:0)

嵌套函数中的this引用FileReader对象。您应该在reader.onload回调之前将#photo1的引用保存在本地变量中:

var photo = $(this);

然后使用photo代替$(this)

reader.onload = function (e) {
    // get loaded data and render thumbnail.
    photo.next().next("img").attr('src', e.target.result);
};