表排序器从选择下拉菜单和自定义时间过滤器中选择多个选项

tablesorter select multiple options from select dropdown menu and custom time filter?

本文关键字:选择 过滤器 选项 时间 排序 下拉菜单 自定义      更新时间:2023-09-26

有没有办法从选择下拉菜单中选择多个选项并显示结果。就像在我的小提琴中一样,我将名字作为第一列,并希望选择并显示亚伦和克拉克的时间。单独是可能的。但是,如果需要选择两个选项呢?如何实现这一点?

而且,如何应用自定义时间过滤器,例如

早上(6点至12点之间)

下午(12至18点之间)

晚上(18至21点)

这是我尝试过的,但它不起作用。事实上,这些选项甚至没有显示在选择框中。

http://jsfiddle.net/QJnEa/

   filter_functions : {
    1 : {
      "Morning"      : function(e, n, f, i) { return n < 12; },
      "Afternoon" : function(e, n, f, i) { return n >= 12 && n <=18; },
      "Evening"     : function(e, n, f, i) { return n > 18; }
    }

仅显示时间。不知道如何为多项选择编写代码。

在该演示中,时间列中有一个类名"filter-select",它覆盖了filter_functions。您需要做的就是删除该类

<th data-placeholder="Select a time block">Time</th>

然后更新filter_functions以使用确切的 (e) 值而不是规范化值 (n),这实际上是一个非常大的数字(自 2000 年 1 月 1 日以来的时间(以秒为单位;由时间解析器定义)。

filter_functions: {
    1: {
        "Morning": function (e, n, f, i) {
            return parseInt(e, 10) < 12;
        },
        "Afternoon": function (e, n, f, i) {
            var num = parseInt(e, 10);
            return num >= 12 && num <= 18;
        },
        "Evening": function (e, n, f, i) {
            return parseInt(e, 10) > 18;
        }
    }
}

至于问题的第二部分,过滤器小部件目前不支持多选元素。将来可能会;但与此同时,您可能想查看这个演示(仍处于测试阶段),该演示使用表格外部的 select2 插件。