2014-07-04 60 views
0

我有一个可过滤的表,包含列中的可折叠列表。可折叠包含另一张桌子。 Sample of the situation.删除内表过滤器引导

问题是,当编写任何东西来只过滤所需的项目时,内部表格也会被过滤。有没有办法避免这一点。

有关如何显示此类内容的建议也很受欢迎。

+0

我想这是因为你把'$('。searchable tr')。hide();',它会删除内部表。你能解释一下你想如何过滤内表吗?按姓名还是什么? –

+0

过滤外表对我来说已经足够了。当我写“一些collapsible2”时,只显示那个可折叠的行。内表应该是完整的。我很好奇如何根据列来过滤,但那是另一回事。 – mechanicum

回答

1

如果你想只从名称列过滤器,你可以尝试使用下面code

$('#filter').keyup(function() { 
     var stringValue = $(this).val(); 
     $("#outer-table tr.row").each(function(index) { 
      $(this).hide(); 
      $(this).find(".panel-title a:contains("+stringValue+")").parents("tr").show(); 
     }); 
    }); 

编辑:我已经测试了上述新的代码,它按预期工作。

HTML的变化,更容易得到ONLY<tr>是你的外表的一部分:

  1. <tbody class="searchable">更改外table标签,成这样,<tbody id="outer-table" class="searchable">
  2. 然后在外表内每<tr>添加一个选择器,但不内内表内,如下所示:

    </tr> 
    <tr class="row"> 
         <td><div id="collapsibleMain2" class="panel-group"> 
    
    </tr> 
    <!-- and so on --> 
    

有关jQuery函数,我上面使用的详细信息: