我试图在用户提交文件之前显示一个或多个文件名,但是到目前为止,如果用户决定选择多个文件,则只能显示一个文件名而不是多个文件名。
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>
或
$.each
与this.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>