javascript - 为什么append不能与输入类型文件javaScript更改功能一起使用?

标签 javascript jquery html css

当我点击它时,我有输入类型文件,我想在那里一张一张地显示选定的图片,但现在它第一次工作,当我第二次点击它时,它无法添加更多图像。

我想添加多张图片。

我的代码:-

$('[name=photo_input]').change(function (e) {
            var imagePath = e.target.files[0].name;
            var imageElement = `
        <div class="col-md-4">
        <img src="${imagePath}" />
        </div>
`;
$('.row').prepend(imageElement);
        });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="row"></div>
<input type="file" name="photo_input" />

回答将不胜感激!

最佳答案

您需要在前置调用后重置输入。并且jquery具有默认元素目标。因此您可以使用this而不是事件.目标

$('[name=photo_input]').change(function(e) {
  var imagePath = this.files[0].name;
  var imageElement = `
        <div class="col-md-4">
        <img src="${imagePath}" />
        </div>
`;
  $('.row').prepend(imageElement);
  $(this).val('') //  you need to reset input after change event
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="row"></div>
<input type="file" name="photo_input" />

关于javascript - 为什么append不能与输入类型文件javaScript更改功能一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59809631/

相关文章:

javascript - 使用 TinyMCE 编辑器时如何自动保存

javascript - 如何使用 jQuery 和 Javascript 禁用页面中的所有 AJAX 请求?

jquery - jQuery 中单击事件的最大范围错误

html - :before color in ie is not working

javascript - Webpack - 语法错误 : Unexpected token {

Javascript 模式验证

javascript - 将类注入(inject) KendoUI Web 日历日

javascript - Angular 指令被识别为 html 表单元素

html - 如何在 HTML 模板中使用 for 循环

java - 如果 html 表格中任何单元格为空,如何突出显示整行