如何使用jquery计算多输入字段中文件的长度?
alert($('#myForm input[type=file]').files.length);
<input type="file" multiple="multiple" name="file[]"/>
错误:
$(“#myForm input [type = file]”)。文件未定义
它可以使用普通的js查找,但我不想在输入字段中使用ID。
alert(document.getElementById('file').files.length);
<input type="file" multiple="multiple" name="file[]" id="file"/>
答案 0 :(得分:14)
尝试使用.get
方法获取原生DOM元素:
$('#myForm input[type=file]').get(0).files.length
但是请注意,如果你有多个与你的选择器匹配的DOM元素,那么它将返回第一个,如果没有,则显然会抛出异常。
答案 1 :(得分:3)
这些答案都不适用于新的html 5多重标记。所以如果你有像
这样的东西<input type="file" name="filesToUpload[]" id="filesToUpload" multiple="multiple" size="20" />
注意多标签,JQ无法获取这些文件中的每一个,只获得其中一个,我现在几乎尝试了所有可能的选择器,但无济于事。
然而如前所述,标准Javascript有效:
alert(document.getElementById('filesToUpload').files.length);
答案 2 :(得分:-1)
alert($('#myForm input[type=file]').length);
要么
alert($('#myForm input[type=file]').size());
或alert($('#file').size());
或alert($('#file').length);