gpt4 book ai didi

上传前预览多张图片的 jQuery 函数

转载 作者:行者123 更新时间:2023-12-01 03:36:05 24 4
gpt4 key购买 nike

我正在使用多个<input type="file">我的页面中具有相同 class="inputFile"的标记,如下所示

<div class="col-md-3">
<form id="form2" runat="server">
<input type='file' class="inputFile" />
<img class="image_upload_preview" src="http://placehold.it/100x100" alt="your image" />
</form>
</div>
<div class="col-md-3">
<form id="form3" runat="server">
<input type='file' class="inputFile" />
<img class="image_upload_preview" src="http://placehold.it/100x100" alt="your image" />
</form>
</div>

我想在选择图像时显示图像的预览,为此我使用了 jQuery 函数。

  function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
$('.image_upload_preview').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$(".inputFile").change(function() {
readURL(this);
});

这段代码工作正常,但是当我为第一个标签选择图像时,它为两个字段选择相同的图像,如下所示:

enter image description here

我该如何解决这个问题?

最佳答案

您只需修改 readURL 函数即可遍历 DOM,找到与当前 input 相关的 .image_upload_preview 元素。试试这个:

function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
$(input).next('.image_upload_preview').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}

$(".inputFile").change(function() {
readURL(this);
});

注意$(input).next('.image_upload_preview')的使用。

关于上传前预览多张图片的 jQuery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34306518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com