TECHTOGOU

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

coder 2024-05-16 原文

我知道这是一个简单的问题,但我需要有经验的人的建议。

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

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

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

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

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

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

我希望是 2 但出现了 3

你能告诉我为什么吗?

我想获取输入类型文件中所有值为空的元素。我简短地使用了选择器 :empty 但它似乎无法正常工作。

当然可以用

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

但我想要最短的方法来做到这一点,而不需要 $.each

谢谢

最佳答案

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

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

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

引用资料:

关于javascript - 在 jquery 中检查某些输入类型文件是否为空的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17044211/

有关javascript - 在 jquery 中检查某些输入类型文件是否为空的更好方法?的更多相关文章

  1. c# - 我可以在 C# 中通过引用传递原始类型吗? - 2

    我知道在C#中,复杂类型是通过引用传递的,而基本类型是通过值传递的。我可以在C#中通过引用传递基本类型吗?更新:感谢您的回答,但我的例子是?voidtest(objectx){}longy=1;test(refy);这会引发此异常:“ref”参数类型与参数类型不匹配 最佳答案 这里有几个不同的问题。CanIpassprimitivetypesbyreferenceinC#?首先,让我们确保这里的行话是正确的。目前还不清楚你所说的“原始类型”是什么意思。你的意思是像int或long这样的“内置到运行时”类型吗?您指的是任何值类型,无论

  2. c# - C# 是否支持不带大括号的代码块? - 2

    C#将如何编译它?if(info==8)info=4;otherStuff();它会在代码块中包含后续行吗?if(info==8){info=4;otherStuff();}还是只需要下一行?if(info==8){info=4;}otherStuff(); 最佳答案 是的,它支持它-但它需要下一个语句,而不是下一个行。例如:inta=0;intb=0;if(someCondition)a=1;b=1;intc=2;相当于:inta=0;intb=0;if(someCondition){a=1;}b=1;intc=2;就我个人而言,

  3. c# - 是否可以防止 Entity Framework 4 覆盖自定义属性? - 2

    我首先使用EF4数据库+POCO。因为EF没有简单的方法来声明传入的DateTimes是UTC类型,所以我将该属性从自动生成的文件移动到另一个文件中的分部类。privateDateTime_createdOn;publicvirtualSystem.DateTimeCreatedOn{get{return_createdOn;}set{_createdOn=(value.Kind==DateTimeKind.Unspecified)?_createdOn=DateTime.SpecifyKind(value,DateTimeKind.Utc):value;}}但是,现在每次我更新模型时

  4. c# - 如何知道一条线是否与矩形相交 - 2

    我已经检查过这个问题,但答案对我来说非常大:HowtoknowifalineintersectsaplaneinC#?-Basic2Dgeometry是否有任何.NET方法可以知道由两点定义的线是否与矩形相交?publicboolIntersects(Pointa,Pointb,Rectangler){//returntrueifthelineintersectstherectangle//falseotherwise}提前致谢。 最佳答案 publicstaticboolLineIntersectsRect(Pointp1,Poi

  5. c# - C# 中具有类型参数的泛型类型 - 2

    我不认为这可以在C#中完成,但发布它只是为了确保。这是我的问题。我想在C#中做这样的事情:varx=10;varl=newList<typeof(x)>();或varx=10;vart=typeof(x);varl=newList<t>();但这当然行不通。尽管这应该不是问题,因为类型t在编译时已解析。我知道这可以通过反射来解决,但由于类型在编译时是已知的,因此使用反射就太过分了。 最佳答案 publicstaticList<T>CreateCompatibleList<T>(Tt){

  6. c# - 在 C# 中是否有保证 FIFO 顺序的同步类? - 2

    它是什么以及如何使用?我需要它,因为我有一个每秒插入数据库的计时器,并且我在计时器处理程序和主线程之间有一个共享资源。我想保证如果定时器处理程序在插入时花费的时间超过一秒,则等待的线程应该按顺序执行。这是我的计时器处理程序的示例代码:privatevoidInsertBasicVaraibles(objectparam){try{DataTablesMutex.WaitOne();//mutexformysharedresources//insertintoDB}catch(Exceptionex){//Handle}finally{DataTablesMutex.ReleaseMut

  7. c# - .NET:如何检查泛型类中的类型? - 2

    如何在类中获取泛型类的类型?一个例子:我构建了一个实现ICollection的通用类型化集合。在我里面有像这样的方法publicvoidAdd(Titem){...}publicvoidAdd(IEnumerable<T>enumItems){...}如何在方法中请求给定类型T?我的问题的原因是:如果object用作T集合使用Add(objectitem)而不是Add(IEnumerableenumItems)即使参数是IEnumerable。因此,在第一种情况下,它将整个可枚举集合添加为一个对象,而不是可枚举集合的多个对象。所以我需要类似的东西if(Tisobject){

  8. c# - 在 C# 中确定未修剪的字符串是否为空的最有效方法是什么? - 2

    我有一个字符串,周围可能有空白字符,我想检查它是否本质上是空的。有很多方法可以做到这一点:1if(myString.Trim().Length==0)2if(myString.Trim()=="")3if(myString.Trim().Equals(""))4if(myString.Trim()==String.Empty)5if(myString.Trim().Equals(String.Empty))我知道这通常是一个明显的过早优化案例,但我很好奇并且有可能这样做足以对性能产生影响。那么,哪种方法最有效?有没有我没有想到的更好的方法?编辑:此问题的

  9. c# - out 用于多个输出值或返回组合值类型更好吗? - 2

    例如,按照以下行:publicboolIntersect(Rayray,outfloatdistance,outVector3normal){}对比publicIntersectResultIntersect(Rayray){}publicclassIntersectResult{publicboolIntersects{get;set;}publicfloatDistance{get;set;}publicVector3Normal{get;set;}}哪个在清晰度、易用性和最重要的性能方面更好。 最佳答案 我会使用组合类型,我会

  10. c# - 如何检查深度 lambda 表达式中的空值? - 2

    这个问题在这里已经有了答案:Possiblepitfallsofusingthis(extensionmethodbased)shorthand(11个答案)关闭9年前。如何检查深度lamda表达式中的空值?例如,我有一个嵌套了多层的类结构,我想执行以下lambda:x=>x.Two.Three.Four.Foo我希望它在二、三或四为空时返回空,而不是抛出System.NullReferenceException。publicclassTests{//Thistestwillsucceed[Fact]publicvoidReturnsValueWhenClass2NotNull(

随机推荐

  1. c# - 为 WCF 实现接口(interface)时不能使用可选参数 - 2

    在我的界面中我已经声明了这一点。[OperationContract][WebGet]StringGetStuff(Stringbeep,Stringboop="toolazytotype");我是这样实现的。StringGetStuff(Stringbeep,Stringboop="toolazytotype"){...}它编译并上传为我的WCF服务。但是,当我将它用作Web引用并尝试执行下面的代码时,编译器提示说没有带有单个参数签名的方法。最后一行是问题所在。我怎么能懒得打字默认?ServiceClientclient=newServiceClien

  2. c# - 为什么 DateTime.Now.TimeOfDay.ToString ("HH:mm:ss.ffffff") 抛出 FormatException? - 2

    我在抛出FormatException时遇到了类似的问题。我的代码很简单:voidOrders_OnSubmit(){DateTimeCurrentTime=DateTime.Now;rtbAdd("Submittedon"+CurrentTime.Date.ToString("MM/dd/yyyy")+"at"+CurrentTime.TimeOfDay.ToString("HH:mm:ss.ffffff"));}voidrtbAdd(StringS){DefaultDelegatedel=delegate(){rtb.

  3. c# - 更新条目时出错。有关详细信息,请参阅内部异常 - 2

    很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭9年前。当我删除列表框中的项目时,出现问题中的错误,如下面的屏幕截图所示:我不知道内部异常在哪里,但我尝试了try,catch但我在问题中遇到了同样的错误。这里是所有的代码:namespaceWpfApplication7{///<summary>///InteractionlogicforEdit_Rooms.xaml///</summary>publicpartialclass

  4. c# - stringbuilder 与字符串连接 - 2

    在我的项目中,我正在遍历数据View结果。stringhtml=string.empty;DataViewdV=data.DefaultView;for(inti=0;i<dV.Count;i++){DataRowViewrv=dV[i];html+=rv.Row["X"].Tostring();}dV中的行数将始终为3或4。对于这种情况,使用字符串concat+=opearator还是StringBuilder更好,为什么? 最佳答案 我会在这里使用StringBuilder,因为它描述了您正在做的事情。对于

  5. c# - Visual Studio 找不到我引用的 DLL 的命名空间 - 2

    这是一个非常令人沮丧的问题。突然间我无法使用引用的DLL。我在同一解决方案中添加了对项目的程序集引用,但命名空间无法识别。我什至可以在对象查看器中看到引用。我还在没有客户端配置文件的情况下将项目更改为.NET4和3.5,但无济于事。 最佳答案 基于您的screenshot,您在多个项目中引用了同一个“ServerLibrary”DLL,但是,看起来一个引用版本是在.NET3.5中编译的,而另一个引用版本(它出现的项目引用)是在.NET4中编译的。确保所有项目都指向相同版本的DLL并重新编译所有项目。那应该可以解决您的问题。

  6. c# - 防止类被实例化的最佳方法? - 2

    我需要知道如何防止类在.net中被实例化?我知道很少有方法可以使类成为抽象类和静态类。还有其他方法可以实现吗? 最佳答案 如果您绝对不想要任何实例,则将类设为静态是最好的方法。这会阻止任何人创建实例。该类将是密封的和抽象类,并且没有任何构造函数。此外,该语言会注意到它是一个静态类,并阻止您在各种暗示实例的地方使用它,例如类型参数和变量。这比仅仅拥有一个私有(private)构造函数更清楚地表明了意图——这可能意味着在该类中创建了一些实例(例如,对于单例实现)。哦,让类静态化也会阻止你在类中引入任何无意义的实例成员:)参见MSDN有关

  7. c# - 将十进制小时数转换为 DD :HH:MM - 2

    我正在尝试将小数小时数转换为天数、小时数和分钟数。这是我目前所拥有的,还不完全是。如果有意义的话,我需要从小时部分的天数中减去小时数吗?///<summary>///ConvertsfromadecimalvaluetoDD:HH:MM///</summary>///<paramname="dHours">Thetotalnumberofhours</param>///<returns>DD:HH:MMstring</returns>publicstaticstringConvertFromDeci

  8. c# - 在 C# 中调试 Web 服务代理类 - 2

    在我的项目中,我创建了一个具有网络服务的网络应用程序。在同一解决方案中,我添加了另一个Web应用程序。我正在使用来自该应用程序的Web服务。我使用使用网络引用选项添加网络引用添加了网络引用。我想调试生成的代理类(当我添加Web引用时)。我在代理类中放置了一个调试器,但它不起作用。然后我复制了代理类并在客户端Web应用程序中创建了一个具有相同内容的新类,并删除了Web引用。但我仍然无法调试代理类。我如何调试代理类?请帮忙。 最佳答案 尝试从生成的代码中删除[DebuggerStepThroughAttribute()]

  9. c# - 查找所有父类型(包括基类和接口(interface)) - 2

    我希望能够找到特定类型的所有父类型(基类和接口(interface))。EG如果我有classA:B,C{}classB:D{}interfaceC:E{}classD{}interfaceE{}我想知道A是BCDandEandObject最好的方法是什么?有没有一种反射(reflection)方法可以做到这一点,或者我需要自己做点什么。====编辑====是这样的吗?publicstaticIEnumerable<Type>ParentTypes(thisTypetype){foreach(Typeiintype.GetInterfaces()){yieldreturni

  10. C# 类取消删除文件? - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowdoIrestoreafilefromtherecyclebinusingC#?Recoveringdeletedfileonwindows我正在开发一个应用程序,旨在从系统中恢复已删除的文件(包括来自回收站的文件和那些已经从回收站清空但仍然可以理解的文件)和格式化的驱动器。我决定使用c#作为语言,但我很难找到处理这个问题的类。有谁知道用于查找已删除文件、检索它们的任何类/方法或任何教程或有关此事的帮助。我在这方面经验不足,因此非常感谢任何帮助。