jQuery中的tablesorter和多textOxtraction?

时间:2013-01-27 09:48:50

标签: javascript jquery tablesorter

我有这个有TableSorter插件的表。

Jsbin #1

enter image description here

但是 - 我希望第1列(基于第二个零)按 第一个字符 第二个字符排序为数字!)

示例:

4134 (I dont care about the other digits order - just the first one which is here=1)
22230 //2
242   //4
67    //7
28    //8
992222 //9

所以我创建了另一个 textExtraction函数:(仅在第一列应用)

    var myExtraction = function(node) {
  return parseInt($(node).substring(1))
}

将另一个对象添加到ctor,仅用于#1列。(0'基础)。

...,{
    textExtraction: myExtraction,
    headers: {
        1: {
            sorter: 'digit'
        } 
    }
}

然而它没有( jsbin#2 is here new jsbin)工作,我很确定这不是那种方式。

请帮忙吗?

1 个答案:

答案 0 :(得分:3)

我不确定您是否需要自定义myExtraction。只需将该列的排序器更改为'text'而不是'digit',当您使用其余标头指定它时,它应该可以正常工作。

修改

如果您希望 second 数字用于排序:

var myExtraction = function(node) {
  return $(node).text().substring(1);
}

jQuery('#bullsTable').tablesorter(
{
    headers: {
        0: {
            sorter: false
        },
        1: {
            sorter: 'text'
        },
        13: {
            sorter: 'digit'
        }, 
        14: {
            sorter: 'digit'
        }
    },
      textExtraction: jgExtraction,
      textExtraction: {
         1: myExtraction
      }
}

我更新了您的jsbin here

注意:您使用的旧版本的tablesorter似乎不支持textExtraction。我更新了<script>代码并且有效。