我有一个可过滤的表,该表在列中包含一个可折叠列表。可折叠文件包含另一个表。 Sample of the situation.

问题在于,当写入任何内容以仅过滤所需的项目时,内部表也会被过滤。有没有办法避免这种情况。

也欢迎提出其他有关如何显示此类内容的建议。

最佳答案

如果只想从“名称”列进行过滤,则可以尝试在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更改,仅更容易获得外部表中的每个<tr>


将您的外部表标签从<tbody class="searchable">更改为<tbody id="outer-table" class="searchable">
然后将选择器添加到外部表内部的每个<tr>而不是内部表的内部,如下所示:


     
            

 </tr>
 <tr class="row">
        <td><div id="collapsibleMain2" class="panel-group">

 </tr>
 <!-- and so on -->





有关我上面使用的jQuery函数的更多信息:


contains
each
hide

关于javascript - 删除内部表过滤器 bootstrap ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24574856/

10-09 15:14