jQuery表行过滤器 - 同时隐藏和显示

时间:2015-10-14 11:53:27

标签: jquery hide show

我有一个表,其中包含一个包含关键字的列和一个选择字段(css class .filter),其中包含与这些关键字对应的选项和值。

在将select字段更改为其他选项之前,它可以正常工作。使用以下代码,一切都显然是隐藏的。但是在隐藏之前为每一行添加一个.show()不起作用(任何东西都不会被隐藏)。隐藏后显示选定的行也不起作用。

$(".filter").change(function () {
        if ($(this).val() != "all") {
            $("tbody").find("tr:not(:contains('"+$(this).val()+"'))").hide(); //hide everything except what contains the selected option

        } else {
            $("tbody").find("tr:hidden").show(); // reset the filter and show everything
        }
    });

1 个答案:

答案 0 :(得分:1)

您可以隐藏所有行,然后只显示已过滤的项目

$("tbody").find("tr").hide().filter(":contains('" + $(this).val() + "')").show();