如果过滤掉所有行(tbody),如何修改此插件以隐藏整个表(即标题)?相反,当一行或多行重新出现时,我想显示标题等。
提前致谢。
杰
答案 0 :(得分:0)
在documentation中说:
- ifHidden - 如果隐藏了一个或多个元素,则执行回调
因此,如果侯使用.hide()回调,你可能得到你想要的东西。
我尝试自己做,也许我们可以帮助你了解具体细节,但我不能为你做:)
祝你好运!答案 1 :(得分:0)
此代码片段(来自uiTableFilter)查看每个表行以查看是否可以找到要搜索的文本(我使用更好的名称重命名了他的方法)。如果是这样,它会调用两种方法之一,隐藏或显示该行(matches()或noMatch())。
elems.each(function ()
{
var elem = $(this);
$.uiTableFilter.FoundSearchString(getText(elem), words, false) ? matches(elem) : noMatch(elem);
}
我在此代码后面添加了以下代码。这段代码稍微复杂一点,因为我的屏幕上有多个表格,我同时过滤它们。我的表有“SearchResultsTable”类。我只是抓住我的所有表格,迭代它们,在每个表格中获得可见行数。如果没有可见的行,我会隐藏标题,否则,我会显示它。
var grids = $(".SearchResultsTable");
grids.each(function()
{
var grid = $(this);
var rowCount = grid.find("tbody:first > tr:visible").length;
if (rowCount > 0)
{
grid.find("thead").show();
}
else
{
grid.find("thead").hide();
}
});