3

我有这张表,它有 TableSorter 插件。

Jsbin #1

在此处输入图像描述

但是 - 我希望第 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 在这里是 新的 jsbin),我很确定这不是方法。

请问有什么帮助吗?

4

1 回答 1

3

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

编辑

如果您希望第二个数字用于排序:

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

注意:您使用的是旧版本的 tablesorter,它似乎不支持textExtraction. 我更新了<script>标签并且它有效。

于 2013-01-27T20:39:31.980 回答