Tablesorter - 按td类排序

时间:2013-03-13 03:52:59

标签: javascript jquery sorting tablesorter

我正在尝试使用tablesorter按类对列进行排序。该类将确定背景图像以指示真/假。

列中的两种类型将是:

<td class='icon silk-cross'>
<td class='icon silk-tick'>

我已尝试将此代码用作自定义解析器,但尚未提供可行的解决方案。

  $.tablesorter.addParser({
    id: 'truefalse',
    is: function(s) {
      return false;
    },
    format: function(s, table, cell) {
      var $cell = $(cell);
      return $cell.attr('class') || s;
    },
    type: 'text'
  });

有没有办法访问每个单元格的属性?

编辑: jsfiddle http://jsfiddle.net/LtyMN/

2 个答案:

答案 0 :(得分:4)

您只需要在headers选项(demo)中添加新的解析器:

$.tablesorter.addParser({
    id: 'truefalse',
    is: function (s) {
        return false;
    },
    format: function (s, table, cell) {
        var $cell = $(cell);
        return $cell.attr('class') || s;
    },
    type: 'text'
});

$("table").tablesorter({
    headers : {
        2: { sorter: 'truefalse' }
    },
    widgets: ['zebra']
});

请注意,如果使用updateCell方法,它将不会正确地为解析器格式函数提供cell参数。我已在fork of tablesorter修正此问题。

答案 1 :(得分:0)

如果这可能会有所帮助。

   $("#myTable").tablesorter( {sortList: [[0,0], [1,0]]} ); 

点击将要排序的任何(头部):)

同样的小提琴: Fiddle 1

我希望这样做

没有可见数字: Fiddle 2

享受:)