2009-09-04 10 views
1

我試圖隱藏所有的複選框的表的父DIV是表Jquery的父母不工作的多個div

我的jQuery的樣子

$('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() 

上面的代碼工作如果不加以控制我只有一個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