<input type="file" id="basicUploadFile" multiple="multiple">
この入力内のすべてのファイル名を取得したいと考えています。いくつかの例を見てきましたが、最初のファイルの名前しか取得しません。
$ ('#basicUploadFile').live ('change', function () {
alert($ ('#basicUploadFile').val());
});
これどうやってするの?ありがとう。
<input type="file" id="basicUploadFile" multiple="multiple">
この入力内のすべてのファイル名を取得したいと考えています。いくつかの例を見てきましたが、最初のファイルの名前しか取得しません。
$ ('#basicUploadFile').live ('change', function () {
alert($ ('#basicUploadFile').val());
});
これどうやってするの?ありがとう。
var files = $('#basicUploadFile').prop("files")
files
FileList オブジェクトになります。
var names = $.map(files, function(val) { return val.name; });
今names
は文字列(ファイル名)の配列です
FileList
過度に使用する必要なく、コレクションとしてファイルにアクセスできますjQuery
。およびオブジェクトを使用して入力から情報を取得する方法を示す簡単なjsFiddleを作成しました。ここにスニペットがあります:FileList
File
$('#basicUploadFile').live('change', function ()
{
for (var i = 0; i < this.files.length; i++)
{
alert(this.files[i].name);
alert(this.files.item(i).name); // alternatively
}
});
これを使用して、コンソールにすべてのファイル名を表示しました:
var input_file = $("#input_file");
input_file.on("change", function () {
var files = input_file.prop("files")
var names = $.map(files, function (val) { return val.name; });
$.each(names, function (i, name) {
console.log(name);
});
});