2014-01-26 71 views
2

如何使用jquery和textareas類「inside」檢查一組textareas是否全部爲空?我需要檢查如果檢測所有textarea是否使用jquery

<textarea id="1" class="inside"></textarea> 
<textarea id="2" class="inside"></textarea> 
<textarea id="3" class="inside"></textarea> 
<textarea id="4" class="inside"></textarea> 
+2

你或許應該刪除'.'在'類=' –

回答

3

像這樣的事情會做

if (! $('.inside').filter(function() {return this.value.length;}).length) { 
    // all empty 
} 

FIDDLE

過濾掉不具有價值的任何元素,你可以可選擇使用修剪佔空白以及「return $.trim(this.value).length;」並且如果選擇器沒有長度,則沒有一個元素具有值。

+0

其實我想用'。每次的()'循環,但你的解決方案尖叫BRILLIANT :) +1 – Terry

+1

@Terry - 謝謝,過濾器通常對最奇怪的事物有用。 – adeneo

+0

@adeneo WOW,這是一些非常不錯的代碼:太好了! – user111671

2

您可以使用.is(':empty')進行檢查。

EXAMPLE HERE

$('textarea.inside').each(function(){ 
    if($(this).is(':empty')){ 
     alert('empty'); 
    } 
}); 

值得一提的是,每類元素不應該包含.。此外,id不應以數字開頭。

0

刪除你不需要使用。在html中爲類名稱。你用jQuery語法中的選擇器。

如果您的所有文本區域都進入了課堂,您可以逐一瀏覽這些文本區域。

使用$('.inside').each(function(){});查看所有元素並更新標誌,如果任何textarea文本。

0

首先,.inside不是有效的類名,並且不能用作jQuery選擇器。沒有期限,將其更改爲inside

你可以設置一個true/false變量,看它們是否全爲空,然後迭代所有元素並檢查它們是否爲空(我也在修剪以刪除空白)。這裏有一個例子:

var allEmpty = true; 
$('.inside').each(function() { 
    if($(this).val().trim() != '') 
     allEmpty = false; 
}); 

if(allEmpty) 
    alert('All empty!'); 
else 
    alert('One isn\'t empty!'); 

的jsfiddle: 「內部」 http://jsfiddle.net/CFK3c/