javascript – 在jquery中检查一些输入类型文件是否为空的更好方法?

前端之家收集整理的这篇文章主要介绍了javascript – 在jquery中检查一些输入类型文件是否为空的更好方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道这是一个简单的问题,但需要有经验的人的建议.

我有3个输入类型的文件,如:

  1. <input type="file" name="1-files" />
  2. <input type="file" name="2-files" />
  3. <input type="file" name="3-files" />

我选择所有输入(在我的页面上我也有其他输入类型的文件)哪个名称以“-files”结尾(我在Google Chrome控制台中写道):

  1. $("input[type='file'][name*='-files']").length

好.我选择一个文件使用1文件输入.之后,我在Google Chrome控制台中运行以下代码

  1. $("input[type='file'][name*='-files']:empty").length

我希望是2,但出现3.

你能告诉我为什么吗 ?

我想获取输入类型文件的所有元素哪些值是空的.我用简短的方式选择器:空,但似乎不能正常工作.

当然可以用

  1. var empty_count = 0;
  2. $.each($("input[type='file'][name*='-files']"),function(k,v){
  3. if($(this).val() === '')
  4. empty_count++;
  5. });

但是,我想要最短的方式来做这个没有$.

谢谢

解决方法

它匹配三个,因为:空匹配一个没有后代的元素,并且根据定义的输入元素不能有后代(因此都是空的,因此匹配:空选择器).

要找到没有选定文件的元素,我建议:

  1. $("input[type='file'][name*='-files']").filter(function (){
  2. return !this.value
  3. }).length;

参考文献:

> :empty selector.
> filter().

猜你在找的jQuery相关文章