jquery - 多个预览图像和删除
问题描述
HTML
我有以下 HTML 代码用于预览结果
<div class="gallery"></div>
JS
这个javascript代码功能是做多个图像预览。
但我不知道如何制作代码来删除每张照片预览
$(function() {
var imagesPreview = function(input, placeToInsertImagePreview) {
if (input.files) {
var filesAmount = input.files.length;
for (i = 0; i < filesAmount; i++) {
var reader = new FileReader();
reader.onload = function(event) {
$($.parseHTML('<img>')).attr('src', event.target.result).attr('class','prevImage').appendTo(placeToInsertImagePreview);
}
reader.readAsDataURL(input.files[i]);
}
}
};
$('#gallery-photo-add').on('change', function() {
imagesPreview(this, 'div.gallery');
});
});
解决方案
看看 JSFiddle:https ://jsfiddle.net/2e6br85s/
我所做的事情:
1)为预览图像添加了一个 div 包装器。
2)然后在该包装器内添加一个“删除”锚标记。每当用户单击“删除”锚标记时,创建一个用于删除完整包装器 div 的函数。
JS代码:
$(function() {
var imagesPreview = function(input, placeToInsertImagePreview) {
if (input.files) {
var filesAmount = input.files.length;
for (i = 0; i < filesAmount; i++) {
var reader = new FileReader();
reader.onload = function(event) {
var imgElement = $($.parseHTML('<img>')).attr('src', event.target.result).attr('class','prevImage').appendTo(placeToInsertImagePreview);
imgElement.wrap('<div class="img-preview col-md-4"></div>');
imgElement.parent().append('<p><a class="remove-image-preview" href="javascript:void(0);">Remove</a></p>');
}
reader.readAsDataURL(input.files[i]);
}
}
};
$('#gallery-photo-add').on('change', function() {
imagesPreview(this, 'div.gallery');
});
$(document).on('click', 'a.remove-image-preview', function(){
$(this).closest('.img-preview').remove();
});
});
推荐阅读
- ajax - Jquery Datatable 数据到 mvc 控制器
- excel - 当另一个值更改时增加 vlookup 单元格引用
- jenkins - 修复 jenkins svn 认证问题 ProxyException
- joomla - 防止注册带有加号 (+) 的电子邮件地址
- java - 如何使用另一个类的属性创建(getter)方法
- http-status-code-404 - 热创建 Artifactory 页面 404 定制?
- java - SIP 注册失败 - 超时 - 清单中包含的所有权限,但应用程序中未包含来自互联网权限的接收数据
- ios - 在 iPad 上使用全屏模式的 iOS 12 出现问题 - 网络钓鱼检测误报
- ibm-certificate-manager - 云证书管理器与 SSL 服务
- c# - 静态变量到线程 C#