2014-03-25 50 views
0

我使用不同的类来过滤表格的内容。如何编辑此代码,因此在点击按钮(#aipa)后,首先查看所有<tr>元素,然后显示(过滤)仅有class的行。现在,当我过滤例如AIPA元素,然后我不能过滤表中的任何其他元素。首先显示所有<tr>元素,然后隐藏除一个类以外的所有内容

$("#aipa").click(function(){ 
     $('tr:not(:first)').not(".AIPA").slideToggle('fast'); 
}); 
+0

我们展示的HTML了。 –

+0

它是第一次运作? HTML中的哪些地方是过滤器按钮? – Anthony

+0

或者是使示例代码通用于任何过滤器的问题? – Anthony

回答

0

试试这个,

$(document).ready(function(){ 
    $("#aipa").click(function(){ 
     $('tr').hide(); // hiding all trs 
     $("tr.AIPA").fadeIn('fast'); // showing the tr havin AIPA class 
    }); 
}); 

Live Demo

如果要隐藏有.AIPA class的尝试这个除了first row所有的行和列,

$(document).ready(function(){ 
    $("#aipa").click(function(){ 
     $("tr:not(:first, .AIPA)").fadeOut(1000); 
    }); 
}); 

Updated demo

+0

这隐藏了第一个'tr',可能是标题行。另外,目前还不清楚这个问题是否与一般的OPs代码相同,或者是初次使用后还是通用的,等等。 – Anthony

+0

谢谢。为什么你使用'$('tr')。hide();'?这隐藏了所有'trs',我需要首先显示所有'trs'。 '$(' TR ')显示();'。没有工作。 –

+0

谢谢。这对一个班级很有效。但是当我有f.E.两个或更多类,就像我的项目中,我有AIPA和黑IPA类。当我只过滤AIPA类时,我无法过滤具有黑色IPA的行。我必须再次点击AIPA按钮(切换功能),现在我可以过滤黑色IPA行。这里是我的项目的链接[链接] http://miszkowice.ehost.pl/miecho/category/piwo/ –

0

你也可以像这样将它们组合起来:

$('tr:not(":first, .AIPA")').slideToggle('fast'); 

或可能是这可能会帮助您:

$('tr:not(:first)').add(':not(".AIPA")').slideToggle('fast'); 
相关问题