首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >我的预览显示旧输入和新输入如何才能只显示新输入

我的预览显示旧输入和新输入如何才能只显示新输入
EN

Stack Overflow用户
提问于 2019-02-19 14:17:52
回答 1查看 30关注 0票数 0

当我在没有上传的情况下输入2张图片到预览时,它显示的很好。当我选择其他文件时,问题就出现了。它们将被添加到预览中,而不是被删除。基本上现在只有新的2个图像将被上传,但在预览中,他看到4个图像。当他输入新图像时,我如何删除旧图像。

我认为If语句会对这种情况有所帮助,但我不确定如何编写它。

这是我的JS预览:

代码语言:javascript
运行
AI代码解释
复制
$(function() {
    // Multiple images preview in browser
    var imagesPreview = function(input, placeToInsertImagePreview) {

        if ('.previewdeleter' ===('image') ){
            var deletepreview = ('previewdeleter')
        }

        if (input.files) {
            var filesAmount = input.files.length;

            for (i = 0; i < filesAmount; i++) {
                var reader = new FileReader();

                reader.onload = function(event) {
                    $('<div class="previewdeleter position-relative" data-item-id-div="input.files[i].length" style="height:200px;width: 200px; display: inline-block; position: relative !important;">' +
                        '<img alt="" src=' + event.target.result + ' style="height:200px;width: 100%; display: inline-block;">')
                        .appendTo(placeToInsertImagePreview);
                }
                reader.readAsDataURL(input.files[i],);
            }

        }


    };

    $('#images').on('change', function() {
        imagesPreview(this, '#previewHolder',);
    });

});

这是我的HTML:

代码语言:javascript
运行
AI代码解释
复制
               <input value="" type="file" id="images" name="images[]" accept="image/*" multiple />
                <div id="previewHolder" data-item-id-div="input.files[i].length" multiple="" class="previewdeleter position-relative">
                </div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-19 15:22:12

这是因为您使用的是.appendTo -图像预览将被添加到图像预览元素。这意味着每次选择图像时,预览都会显示额外的图像。

为了防止这种情况,您应该在添加新预览之前清空预览框,这可以像这样实现:

代码语言:javascript
运行
AI代码解释
复制
$('#previewHolder').empty();

使用原始代码,它的工作方式如下所示:

代码语言:javascript
运行
AI代码解释
复制
$(function() {
    // Multiple images preview in browser
    var imagesPreview = function(input, placeToInsertImagePreview) {
        $('#previewHolder').empty(); // Empty previewholder

        if ('.previewdeleter' ===('image') ){
            var deletepreview = ('previewdeleter')
        }

        if (input.files) {
            var filesAmount = input.files.length;

            for (i = 0; i < filesAmount; i++) {
                var reader = new FileReader();

                reader.onload = function(event) {
                    $('<div class="previewdeleter position-relative" data-item-id-div="input.files[i].length" style="height:200px;width: 200px; display: inline-block; position: relative !important;">' +
                        '<img alt="" src=' + event.target.result + ' style="height:200px;width: 100%; display: inline-block;">')
                        .appendTo(placeToInsertImagePreview);
                }
                reader.readAsDataURL(input.files[i],);
            }

        }


    };

    $('#images').on('change', function() {
        imagesPreview(this, '#previewHolder',);
});

});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54768364

复制
相关文章
Rust:从嵌套循环中退出
在C语言中,我们常用goto语句来在错误条件下跳转到函数的数据清理部分。这种用法的好处尤其体现在“错误发生在嵌套循环”的时候,我们不用每一层循环都加一个标志位,逐级退出。
灯珑LoGin
2022/11/16
1.4K0
如何从结果集中获得随机结果
全表扫描(Full table Scan) 全表扫描返回表中所有的记录。 执行全表扫描,Oracle读表中的所有记录,考查每一行是否满足WHERE条件。Oracle顺序的读分配给该表的每一个数据块,这样全表扫描能够受益于多块读. 每个数据块Oracle只读一次.
数据和云01
2018/09/10
1.6K0
while循环嵌套while循环
《代码大全》推荐先用伪代码来写框架,从最上层思考可以将抽象能力最大化,不会先陷入任何编程语言的实现细节中,通俗地说就是在蓝图层面解决问题。
不会飞的小鸟
2021/07/30
3.5K0
Python学习笔记:第2天while循
while循环是先判断给的条件是否为真,如果真则执行循环体中的while语句,否则跳出循环;执行循环体之后再次判断条件是否为真。
py3study
2020/01/19
4920
【Python】循环语句 ② ( while 嵌套循环 | 代码示例 - while 嵌套循环 )
while 嵌套循环 也是基于 空格缩进 , Python 中基于 空格缩进 判定代码逻辑的层次关系 ;
韩曙亮
2023/10/11
4220
【Python】循环语句 ② ( while 嵌套循环 | 代码示例 - while 嵌套循环 )
while、do...while、嵌套循环复习
        首先进行循环条件判断,如果为 true,则执行{ }里的语句,如果为 false,则直接执行while后的语句,不进入循环体。
zxmttkx
2022/12/02
1.3K0
while、do...while、嵌套循环复习
sql的嵌套查询_嵌套查询和嵌套结果的区别
SQL连接查询和嵌套查询详解 连接查询 若一个查询同时涉及两个或两个以上的表,则称之为连接查询。连接查询是数据库中最最要的查询,
全栈程序员站长
2022/09/22
4K0
sql的嵌套查询_嵌套查询和嵌套结果的区别
MySQL 嵌套查询_嵌套查询和嵌套结果的区别
where course.cno=sc.cno and course.cname=’数据库’ and grade>=80)[/code](3)查询计算机系最高成绩。
全栈程序员站长
2022/09/22
4.4K0
sql 嵌套while需要注意的问题
DECLARE @i INT ,@j INT SET @i=1 set @j=1 WHILE @i<4     BEGIN         PRINT 'satrt  i:'+CAST(@i AS varchar)     WHILE @j<4         BEGIN             PRINT 'j:'+CAST(@j AS varchar)             SET @j=@j+1         END     set @j=1     set @i=@i+1     END   你
跟着阿笨一起玩NET
2018/09/18
6940
循环中的异步&&循环中的闭包
foo函数下的index输出5,全局下的index不存在 现在我们把var 换为let
陌上寒
2019/04/02
1.6K0
循环中的异步&&循环中的闭包
Eclipse中java获得mysql的查询结果集
本文介绍了在Java中如何获取MySQL数据库的查询结果集,并对代码进行了详细的解释和注释。包括使用DriverManager类来加载数据库驱动、使用Connection对象创建与数据库的连接、使用Statement对象创建SQL语句、使用ResultSet对象获取查询结果集、使用next()方法遍历结果集、使用getXXX()方法获取结果集中的数据以及使用close()方法关闭数据库连接。
别先生
2017/12/29
4.9K0
Eclipse中java获得mysql的查询结果集
如何通过神经风格转换获得漂亮的结果
最近开始对使用机器学习生成中型个人资料图片感兴趣。深入到了神经风格转换领域。尽管NST在概念上很容易理解,但要生成高质量图像却出奇地困难。为了获得良好的结果,必须正确实施许多复杂的细节和未提及的技巧。在本文中,将深入研究神经风格转换,并详细研究这些技巧。
代码医生工作室
2020/04/14
1.5K0
如何通过神经风格转换获得漂亮的结果
MYSQL IN EXISTS LEFT JOIN 结果不同的问题?
随着问问题的同学越来越多,公众号内部私信回答问题已经很困难了,所以建立了一个群,关于各种数据库的问题都可以,目前主要是 POSTGRESQL, MYSQL ,MONGODB ,POLARDB ,REDIS 等,期待你的加入,加群请添加微信liuaustin3.
AustinDatabases
2023/02/28
1.8K0
MYSQL IN EXISTS LEFT JOIN 结果不同的问题?
从一个多层嵌套循环中直接跳出
Java中如何从一个多层嵌套循环中退出,例如下面,有两个循环,break只能退出一个for循环,不能直接跳过第二个for循环
硬核编程
2020/07/23
9260
11.4.6 集合嵌套查询与嵌套结果(结果集) -《SSM深入解析与项目实战》
项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm
谙忆
2021/10/26
4820
4个方面详细讲解Python中while循环嵌套
故事梗概: 有一天你的女朋友她又生气了,让你说3遍“媳妇,我错了”,这个程序是不是循环即可?但是如果你女朋友说:还要刷今晚吃饭的碗,这个程序又该怎么写呢?
python自学网
2022/03/26
1.6K0
4个方面详细讲解Python中while循环嵌套
While 与 do while 的区别
Do while和while的区别就是do while不管条件是否成立,都至少执行一次。
算法与编程之美
2023/01/03
9890
如何在 Python 中将嵌套的 OrderedDict 转换为 Dict?
Python 是一种流行的编程语言,广泛用于各种应用程序,包括 Web 开发、数据科学和机器学习。它的简单性、灵活性和易用性使其成为所有级别开发人员的绝佳选择。使Python脱颖而出的功能之一是OrderedDict类,它是一个字典子类,可以记住插入项目的顺序。但是,在某些情况下,我们可能需要将嵌套的 OrderedDict 转换为常规字典,以便于进一步处理数据。
很酷的站长
2023/08/11
4980
如何在 Python 中将嵌套的 OrderedDict 转换为 Dict?
如何在提升编程能力的同时,获得些福利
开发者头条是一个聚合了有很多优秀的技术文章的网站。开发者头条上的 IO币 可以换取一些礼物。礼物有键盘、鼠标、图书等。
前端GoGoGo
2018/08/24
3440
点击加载更多

相似问题

使用空格设置帮助菜单的格式

118

控制argparse帮助参数列表的格式?

460

python argparse中的重新格式化帮助

20

Python argparse:预格式化的帮助文本?

20

限制Argparse帮助输出

16
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文