2017-04-09 34 views
0

我想從輸入元素中獲取選定的文件名。這裏是html元素:使用jquery從輸入中獲取文件名列表

<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();  
}); 

但它只是給了我一個文件名!任何想法?

+0

聲明變種名稱[]首先,在變化,每次得到它的初始化爲null –

回答

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); 
}); 
+0

它的工作。謝謝。 – beshr

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); 
+0

它只給出第一個文件名。其他人是空的字符串... – beshr