gpt4 book ai didi

javascript - 带预览的图像上传上的删除按钮

转载 作者:可可西里 更新时间:2023-11-01 13:44:12 32 4
gpt4 key购买 nike

我想选择多个图像并为这些图像提供一个按钮,以便用户也可以删除图像。我可以预览图片,但无法在预览后删除图片。

这是我的javascript代码

function handleFileSelect(evt) {
var files = evt.target.files; // FileList object

// Loop through the FileList and render image files as thumbnails.
for (var i = 0, f; f = files[i]; i++) {

// Only process image files.
if (!f.type.match('image.*')) {
continue;
}

var reader = new FileReader();

// Closure to capture the file information.
reader.onload = (function(theFile) {
return function(e) {
// Render thumbnail.
var span = document.createElement('span');
span.innerHTML = ['<img class="thumb" src="', e.target.result,
'" title="', escape(theFile.name), '"/>'].join('');
document.getElementById('list').insertBefore(span, null);
};
})(f);

// Read in the image file as a data URL.
reader.readAsDataURL(f);
}
}

document.getElementById('files').addEventListener('change', handleFileSelect, false);

这是我的 HTML 代码,其中 id=list 是图像显示为缩略图的区域:

<div class="file-upload">
<div class="file-select">
<div class="file-select-button" id="fileName">Choose Image</div>
<div class="file-select-name" id="noFile"></div>
<input type="file" id="files" name="files[]" multiple />
</div>
</div>
</div>
<div class="col-lg-12 col-md-12 col-xs-12 xol-sm-12">
<output id="list"></output>
</div>

如何为每张图片插入删除选项?

最佳答案

检查这个https://jsfiddle.net/dp722j27/10/

你可以有这样的删除方法

function deleteImage() { 
var index = Array.from(document.getElementById('list').children).indexOf(event.target.parentNode)
document.querySelector("#list").removeChild( document.querySelectorAll('#list span')[index]);
totalFiles.splice(index, 1);
console.log(totalFiles)
}

和你的渲染方法一样

  var span = document.createElement('span');
span.innerHTML = ['<img width=100 class="thumb" src="', e.target.result,
'" title="', escape(theFile.name), '"/>', "<button onclick='deleteImage()'>delete</button>"].join('');

document.getElementById('list').insertBefore(span, null);

您可以将值存储在数组中并像处理它一样

关于javascript - 带预览的图像上传上的删除按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48316342/

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