我感觉有点愚蠢地发布了这一点,因为它似乎非常直接来自我一直在阅读的东西,但我不知道为什么我始终将世代视为1的值看。

<html>
<head>
<script src="http://code.jquery.com/jquery-1.7.2.js" type="text/javascript"></script>
<script>
    $(document).ready(function() {
        var button = $('#button');
        button.click(function(){    
           var files = $('#files');
           alert(files.length);
        });
     });
</script>
</head>
<body>
  <form>
    <input type="file" id="files" multiple="" />
    <input type="button" id="button" value="Upload" />
  </form>
</body>
</html>         
.

有帮助吗?

解决方案

将警报行更改为:

alert(files[0].files.length);
.

这是因为您尝试所做的是获取输入DOM元素的文件属性,它是 fileelist 对象。然后,你想要一个 length属性的文件师会告诉你多少选择对象。您首先使用jQuery选择输入元素,但是jQuery选择的结果如$(“#文件”)是一个jQuery集合,所以您希望输入元素的底层DOM对象,因为只有包含文件属性。每个jQuery对象都伪装为数组,以便您可以使用标准数组取消引用来获取底层的DOM元素。 (请参阅: http://api.jquery.com/get/

试试吧!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top