使用jquery从输入中获取文件名列表

时间:2017-04-09 13:42:32

标签: javascript jquery

我想从input元素中获取所选的文件名。这是html元素:

 <input id="camera-open" type="file" multiple>

这是我想要做的jquery:

    $('#camera-open').change(function(){        
       var names = [];
       $('input[type=file]').each(function(){
       names = $('input[type=file]').val().split('/').pop().split('\\').pop();    
});

但它只给我一个文件名!有什么想法吗?

2 个答案:

答案 0 :(得分:1)

尝试

//step by step
$( '#camera-open' ).change( function( event ){        
       var fileList = Array.prototype.slice.call( event.target.files );       
       var filePaths = fileList.map( function(file){ return file.name; });
       var onlyNames = filePaths.map( function(file){ return file.split('/').pop().split('\\').pop(); });
       console.log( onlyNames );
});

答案 1 :(得分:0)

尝试初始化循环外的变量,

var names = [],
    fileName;
$('#camera-open').change(function(){        
  $('input[type=file]').each(function(){
    fileName = $(this).val().split('/').pop().split('\\').pop();
    names.push(fileName);
  });
});
console.log(names);