0
$('#MainContent_myTable tr:gt(0)').not(':contains('+ filterVal + ')').hide();

我试图隐藏表中没有过滤器值的所有行。一切正常,但我的表包含多个列,并且正在整个表中进行搜索。因此,如果过滤器值显示在第 2 列中,那么它不会被隐藏。我真的只希望它检查第 1 列。然后,如果它在第 1 列中不包含该值,我想隐藏整行。

4

2 回答 2

2

尝试:

$('#MainContent_myTable tr:gt(0)').each(function () {
    $(this).find('td:eq(0)').not(':contains(' + filterVal + ')').parent().hide();
});
于 2013-09-04T19:13:53.523 回答
1

这是一个替代方案:

$("#MainContent_myTable tr").filter(function() {
        return ($(this).find('td:first:contains("B")').length == 0);
    }).hide();

http://jsfiddle.net/maximua/NwKcg/1/

于 2013-09-04T19:32:24.460 回答