TableSorterJS 重新应用默认过滤器选择

问题描述 投票:0回答:1

我设置过滤器的默认值如下所示

            <th>Status</th>
            <th data-value="N">Complete</th>
            <th>Audit Date</th>

https://mottie.github.io/tablesorter/docs/example-widget-filter.html#filter-default-attrib

我还添加了一个重置按钮

    $(table).trigger('sortRestart').trigger('filterReset');
    $(this).addClass("toggled");

我想做的是有另一个按钮来重新打开默认搜索条件。

所以单击一次按钮将清除过滤器,再次单击将重新应用过滤器。到目前为止,按钮似乎只有一种方式。

javascript jquery tablesorter
1个回答
0
投票

这个问题可能有更优雅的解决方案,但我可以用下面的方法解决。这适用于包含多个表格的页面。

$(document).on("click", ".clearFilterButton", function ()
{
    var table = $("#" + $(this).attr("data-table"));
    var toggled = $(this).hasClass("toggled");

    if (toggled)
    {
        table.find("th").each(function (index)
        {
            var defaultFilter = $(this).attr("data-defaultValue");
            if (defaultFilter != undefined)
            {
                table.find(".tablesorter-filter[data-column='" + [index] + ").val(defaultFilter);
            }
        });

        $(table).trigger('search', "");
        $(this).removeClass("toggled");
    }
    else
    {
        $(table).trigger('sortRestart').trigger('filterReset');
        $(this).addClass("toggled");
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.