1

我有一个包含多种输入文件类型的表单。我想检查是否有任何输入选择了文件。我试过$('.multi').val()了,但这不起作用。

http://jsfiddle.net/hbdyresq/

$('.bt').on('click', function() {
  var filesSelected = $('.multi').val();
  console.log(filesSelected)
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="file" name="File" class="multi" />
<input type="file" name="File" class="multi" />
<input type="file" name="File" class="multi" />
<input type="file" name="File" class="multi" />
<input type="file" name="File" class="multi" />
<input type="file" name="File" class="multi" />
<button class="bt" type="button">button</button>

4

1 回答 1

1

要检查任何文件输入是否选择了文件,您可以使用filter()仅检索那些files.length不为零的文件:

$('.bt').on('click', function() {
  var filesSelected = $('.multi').filter((i, el) => el.files.length).length != 0;      
  console.log(filesSelected);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="file" name="File" class="multi" />
<input type="file" name="File" class="multi" />
<input type="file" name="File" class="multi" />
<input type="file" name="File" class="multi" />
<input type="file" name="File" class="multi" />
<input type="file" name="File" class="multi" />
<button class="bt" type="button">button</button>

于 2020-03-12T13:52:30.057 回答