在过滤器中隐藏特定的表行

Hiding Particular Table Rows On Filter?

本文关键字:过滤器 隐藏      更新时间:2023-09-26

我目前正在摆弄JS/jQuery/PHP,并编写了以下代码:

http://cole.quinnchrzan.com/tv

我希望进一步利用JS/jQuery来隐藏所有父母(tr)的td与colspan属性,当我运行搜索查询(隐藏所有行,它找不到搜索字符串)时,不是立即由一个可见的行进行。更简单地说,我希望在执行搜索时隐藏表中无关的时间行。目前,我有我的过滤功能设置为只搜索表单元格没有colspan属性(即。不是时间单元)。这意味着所有的time行总是可见的。

对于懒惰的人,下面是我的搜索函数:

function filter(selector, query) {
    query = $.trim(query);
    query = query.replace(/ /gi, '|');
    $(selector).children('td:not([colspan])').each(function() {
        ($(this).parent().text().search(new RegExp(query, "i")) < 0) ? $(this).parent().hide() : $(this).parent().show();
    });
}
$('td[colspan]:visible').parent().each(function() {
    if($(this).siblings().first().children('td[colspan]').length > 0) {
        $(this).toggle();
    }
});