2009-09-04 6 views
1

のために働いていない上記のコードは次の場合に動作します jqueryの両親は、私は、すべてのチェックボックスのテーブルの親のdivを非表示にしようとしています複数のdiv

$('table.result_grid tbody') 
    .filter(function() { 
    allChecked = false; 
    $(this).find(':checkbox') 
         .each(function(index) { 
          allChecked = allChecked || $(this)[0].checked; 
         }) 
    return !allChecked; 
}) 
.parents('div:eq(1)') 
.hide() 

よう

私のjqueryのは見え表に未チェックです私はただ一つのtbodyを持っていますが、それ以上のtbodyがあれば失敗します。 これを行う正しい方法がわかりません。

答えて

2

すべての要素を繰り返し処理し、その親を隠す必要があります。

$('table.result_grid tbody') 
.filter(function() { 
    allChecked = false; 
    $(this).find(':checkbox') 
    .each(function(index) { 
     allChecked = allChecked || $(this)[0].checked; 
    }) 
    return !allChecked; 
}).each(function() { 
    $(this).parents('div').hide(); 
}); 
+0

ありがとうございました。それは魔法のように働く! – Balaji

関連する問題