首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery -获取输入内部的所有文件=‘fileNames’

JQuery -获取输入内部的所有文件=‘fileNames’
EN

Stack Overflow用户
提问于 2012-05-22 21:32:00
回答 5查看 80.1K关注 0票数 37

我有<input type="file" id="basicUploadFile" multiple="multiple">,我想要得到这个输入中的所有文件名。我看过一些例子,但它只得到了第一个文件的名称。

代码语言:javascript
复制
$ ('#basicUploadFile').live ('change', function () {
    alert($ ('#basicUploadFile').val());
});

我该怎么做呢?谢谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-05-22 21:38:28

代码语言:javascript
复制
var files = $('#basicUploadFile').prop("files")

files将是一个FileList对象。

代码语言:javascript
复制
var names = $.map(files, function(val) { return val.name; });

现在names是一个字符串数组(文件名)

FileAPI reference

files property reference

票数 88
EN

Stack Overflow用户

发布于 2012-05-22 21:42:25

jsFiddle Demo

您仍然可以在不过度使用jQuery的情况下将文件作为FileList集合进行访问。我已经创建了一个快速的jsFiddle,演示了如何使用FileListFile对象从输入中获取信息。下面是一个代码片段:

代码语言:javascript
复制
$('#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
    }
});
票数 12
EN

Stack Overflow用户

发布于 2015-12-16 09:03:28

我使用此命令在控制台中显示所有文件名:

代码语言:javascript
复制
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);
     });
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10703102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档