2011-04-05 67 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

相關問題