我正在尝试弄清楚如何允许多个文件上传。目前,我的 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/