TableSorter jQuery-如何在过滤后获取值?

吉沙德

我刚刚安装了jQuery Tablesorter插件并成功集成。但是在我的代码中提出了一个问题,即我的表具有时间值,我想在过滤后收集时间值并计算其总和。

附加屏幕截图..

在此处输入图片说明

我想在表格下方显示总时间,但是如何收集表格值?

我只是尝试下面的代码。

$('select').on('change', function() {
  var colCount = 0;
  $('#mytable tbody tr td:nth-child(4)').each(function () {
    if ($(this).attr('td')) {
      colCount += +1;
    } else {
      colCount++;
    }
  });
  alert(colCount);
});
莫蒂

要使此工作正常进行,您需要此答案中的持续时间解析器的稍作修改的版本通过将"sorter-times"类名称添加到标头单元格,为该列设置解析器

然后,您需要包含一个自定义窗口小部件以进行计算(demo):

$(function () {

    // change maxDigits to 4, if values go > 999
    // or to 5 for values > 9999, etc.
    var maxDigits = 3;

    // https://stackoverflow.com/a/27023733/145346
    $.tablesorter.addParser({
        id: "times",
        is: function (s) {
            return false;
        },
        format: function (s) {
            // prefix contains leading zeros that are tacked
            var prefix = new Array(maxDigits + 1).join('0'),
                // split time into blocks
                blocks = s.split(/\s*:\s*/),
                len = blocks.length,
                result = [];
            // add values in reverse, so if there is only one block
            // (e.g. "10"), then it would be the time in seconds
            while (len) {
                result.push((prefix + (blocks[--len] || 0)).slice(-maxDigits));
            }
            // reverse the results and join them
            return result.length ? result.reverse().join('') : s;
        },
        type: "text",
        parsed: true
    });

    $.tablesorter.addWidget({
        id: 'calcTime',
        options: {
            calcTime_columns: []
        },
        format: function (table, c, wo) {
            var array, column, time, index, start, end, str,
            multiplier = [1, 60, 3600]; // s, m, h
            for (column = 0; column < c.columns; column++) {
                if ($.inArray(column, wo.calcTime_columns) >= 0) {
                    array = $.tablesorter.filter.getOptions(table, column, true);
                    time = 0;
                    $.each(array, function (i, t) {
                        console.log(t);
                        end = t.length;
                        index = 0;
                        start = end - maxDigits;
                        while (start >= 0 && index < maxDigits) {
                            str = t.substring(start, end);
                            time += parseInt(str, 10) * multiplier[index];
                            index++;
                            start -= maxDigits;
                            end -= maxDigits;
                        }
                    });
                }
            }
            // with more than one column, you'll need to target tfoot
            // columns separately
            $('tfoot span').html(time + ' seconds');
        }
    });

    $('table').tablesorter({
        theme: 'blue',
        widgets: ['zebra', 'filter', 'calcTime'],
        widgetOptions: {
            // target column with a zero-based index
            calcTime_columns: [3]
        }
    });
});

笔记

  • 此小部件需要过滤器小部件才能工作。我可以使用更多代码使其独立于过滤器小部件。
  • 该小部件设置为处理多个列,但是由于该示例中的仅有一个结果元素,因此tfoot我不包含任何额外的编码。如果您需要它,那么我可以修改小部件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

TableSorter jQuery-如何在过滤后获取值?

来自分类Dev

tablesorter jquery过滤后获取数字列的总和

来自分类Dev

过滤表后的jQuery tablesorter过滤下拉菜单

来自分类Dev

jQuery tablesorter如何从排序中忽略行

来自分类Dev

如何使用jquery tablesorter存储排序?

来自分类Dev

jQuery tablesorter如何从排序中忽略行

来自分类Dev

如何添加搜索输入jQuery $ .tableSorter插件?

来自分类Dev

如何使用OR逻辑按多个列过滤jQuery Tablesorter

来自分类Dev

如何使用OR逻辑按多列过滤jQuery Tablesorter

来自分类Dev

如何在jquery tablesorter上动态设置行颜色

来自分类Dev

可点击的jQuery tablesorter

来自分类Dev

可点击的jQuery tablesorter

来自分类Dev

如何从jquery.tablesorter.js中的列过滤器下拉列表中获取选定的选项

来自分类Dev

以编程方式重置jquery tablesorter上的过滤器

来自分类Dev

jQuery Tablesorter过滤器和外部选择框

来自分类Dev

jQuery tablesorter:选择用于外部过滤器而不是输入?

来自分类Dev

jQuery tablesorter:选择用于外部过滤器而不是输入?

来自分类Dev

如何将jQuery .on单击添加到Tablesorter?

来自分类Dev

如何使jQuery.tablesorter与DocPad一起使用?

来自分类Dev

jQuery Tablesorter添加alt属性

来自分类Dev

jQuery tablesorter排序格式货币

来自分类Dev

不能使用jQuery tablesorter

来自分类Dev

jQuery tablesorter,编号排序列

来自分类Dev

jQuery tablesorter使用textExtraction的问题

来自分类Dev

jQuery Tablesorter动态加载CSV

来自分类Dev

jQuery Tablesorter和动态表

来自分类Dev

无法运行Jquery Tablesorter插件

来自分类Dev

jQuery tablesorter使用textExtraction的问题

来自分类Dev

如何为JQuery tablesorter插件的过滤器小部件创建工具提示?

Related 相关文章

热门标签

归档