使用jQuery获取多个文件选择的所有值

时间:2012-11-30 20:49:08

标签: jquery file multiple-files

  

可能重复:
  Retrieving file names out of a multi-file upload control with javascript

得到了这个:

<input type="file" name="file1" multiple="multiple" />

在jQuery中使用它:

$("input[name=file1]").change(function() {
    $("input[name=file]").val($("input[name=file1]").val());
});

现在我的问题是:它只提供了第一个选中的文件,我想拥有它们......怎么做? 谢谢!

3 个答案:

答案 0 :(得分:26)

虽然我在评论中链接了可能的欺骗,但这是一个纯粹的JavaScript解决方案。如果你愿意,这是一个jQuery版本: jsFiddle example

$("input[name=file1]").change(function() {
    var names = [];
    for (var i = 0; i < $(this).get(0).files.length; ++i) {
        names.push($(this).get(0).files[i].name);
    }
    $("input[name=file]").val(names);
});​

答案 1 :(得分:3)

您正在寻找'files'属性,该属性返回文件列表:

var ele = document.getElementById($(this).attr('id'));
var result = ele.files;

Here is the Fiddle for it

答案 2 :(得分:1)

使用.length()获取文件数,然后使用while语句对所有文件执行相同操作,每次增加1次计数:)