2011-02-02 33 views
3

我正在使用jQuery以及jQuery驗證插件。使用jQuery在表中選擇空行

我有一張表格,第一列之後的每列包含一個表格字段,如複選框,文本字段等。我使用<th>作爲標題,因此只有<tr>元素具有表單字段。

如何選擇其整個表單域爲空的所有行?通過清空,我正在談論一個未定義值的文本字段,一個未選中的複選框,一個沒有選中任何內容的選擇字段等等。如果它至少有一個非空的表單字段,我不應該選擇一行。

這可能嗎?有人可以澄清這一點嗎?

回答

4

這不應該是使用.filter()太難:

$('tr').filter(function(){ 
    return !$(this).find('input:text:not(:empty), textarea:not(:empty), input:checked, option:selected').length; 
}); 

此搜索tr找到

  • 非空的文本輸入
  • 非空的文本域
  • 選中的複選框/無線電盒
  • 選定的選項元素

並且如果發現有返回,則返回假(即,將它們從選擇中移除)。