javascript - HTML 自动附加文件上传

标签 javascript html

我正在尝试弄清楚如何允许多个文件上传。目前,我的 JavaScript 代码检查文件上传中的更改,如果选择的文件发生更改,则代码将附加新的文件上传。

问题是它只能在第一次使用。有人知道这是怎么回事吗?

JS文件:

<script>
$(".file").change(function() {
    $(".file").each(function( index ) {
        if ($(this).val() != "") {
            console.log("empty");
            $("#fileUpload").after("<input class=\"file\" type=\"file\" name=\"file[]\" id=\"file\">");
        }
    });
});
</script>

HTML:

<div id="fileUpload" style="display: none;">
    <input class="file" type="file" name="file[]" id="file">
</div>

已解决:

对于任何偶然发现此线程的人来说,这是工作版本:

$(document).on("change", ".file", function() {
    if ($(this).val() != "") {
        $("#fileUpload").append("<input class=\"file\" type=\"file\" name=\"file[]\" id=\"file\"><br>");
    }
});

最佳答案

$(".file").change(function(){ 更改为 $(document).on("change", ".file", function(){

发生这种情况是因为您的代码仅在已经存在的元素中运行。通过建议的更改,它将起作用

关于javascript - HTML 自动附加文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24458102/

相关文章:

javascript - 如何获取跨度标签的值

javascript - react : what happens to a function when component stop being rendered

javascript - WPF/XBAP应用程序可以嵌入HTML页面并调用一些javascript(就像Flash一样)

javascript - 在 AMP HTML 中提交时打开另一个表单

css - 在调整大小时删除某些列表元素(桌面到移动 View )

javascript - 将数组值移动到另一个特定数组

javascript - 使用带有时间序列数据的three.js

javascript - 无法设置 null 的属性 'onclick'

php - XPath 问题 HTML 解析

javascript - 无法使用 removeChild 从 html 正文中删除元素