2011-04-05 69 views
3

假设我有一组形式的文本框:jQuery的:如何确定一个或多个文本框为空

<input class="member" type="text" name="integrantes[]" /> 

为了验证,我需要确保所有这些文本框包含值,如果不是则显示错误。

我现在的想法基本上是外面设置的值,一拉:

var oneEmpty = false; 
$(".member").each(function() { oneEmpty = oneEmpty || $(this).val() == "" }); 
if (oneEmpty) { etc } 

然而,这不是特别优雅。因此,有没有更好的方法来实现它?

回答

6

你可以简单地过滤掉所有的输入,是不是空的,并检查是否有任何输入左:

var empties = $('.member').filter(function() { 
    return $.trim($(this).val()) == ''; 
}); 
if (empties.length) { /* Error! */ } 
+0

过滤器正是我正在寻找的功能,但不知何故错过了其他一切。谢谢。 – Kyte 2011-04-05 02:18:17

+0

那个优雅的男人。花了我一分钟来弄清楚它是如何工作的;不能等到我可以通过第二性质写代码 – bruchowski 2012-04-13 21:27:04

4

如果您使用的是jQuery验证,您可以在您的文本框输入中添加一个必需的类,它将为您验证。 jQuery Validate

<input class="member" type="text" name="integrantes[]" class="required" /> 
+0

+1具有相同的答案只有更快 – mcgrailm 2011-04-05 01:55:07

+0

鉴于项目的范围(这是基本功课),我有验证的量(2+ x领域),那fe就像用火箭发射器拍摄鱼一样。 (另外,上次我检查验证仍然没有与1.5.1工作,显然不是这种情况了)。 – Kyte 2011-04-05 02:12:00

+0

虽然这通常是更好的答案,但Box9给出了我正在寻找的东西,所以我想这是一个最佳答案与接受答案不同的情况。 – Kyte 2011-04-05 02:20:01

1

凯特我会建议你使用jQuery validate,并在所有的文本输入我也我想象应用所需的类,你可能想为其他的东西太多

+0

同样。我相信这是一个重复,但。 – 2011-04-05 01:58:09

+1

@凯尔罗杰斯我的回答或问题? – mcgrailm 2011-04-05 02:02:21

相关问题