我试图弄清楚如何允许多个文件上传。目前我的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>");
}
});
答案 0 :(得分:2)
更改$(".file").change(function(){
$(document).on("change", ".file", function(){
这是因为您的代码仅在现有元素中运行。通过提议的更改,它将起作用