我试图在用户提交文件之前显示一个或多个文件名,但是到目前为止,如果用户决定选择多个文件,则只能显示一个文件名而不是多个文件名。

jQuery的

$(function() {
 $('input:file').change(function(){
     var fileName = $(this).val();
     $('.filenames').html('<div class="name">' + fileName + '</div>');
 });
});

最佳答案

您可以将for循环与this.files.length一起使用



$(function() {
 $('input:file').change(function(){
    for(var i = 0 ; i < this.files.length ; i++){
      var fileName = this.files[i].name;
      $('.filenames').append('<div class="name">' + fileName + '</div>');
    }
 });
});

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="file" name="files[]" multiple />
<div class="filenames"></div>





$.eachthis.files更新:08/02/2020



$(function() {
  $('input:file').on('change' , function(){
    $.each(this.files , (i , v) => {
      var filename = v.name;
      $('.filenames').append('<div class="name">' + filename + '</div>');
    });
  });
});

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="file" name="files[]" multiple />
<div class="filenames"></div>

09-17 15:10
查看更多