3

TableSorter プラグインを持つこのテーブルがあります。

ジェスビン #1

ここに画像の説明を入力

ただし、列#1(2番目のゼロベース)を最初の文字 で2番目の文字 を数字としてソートしたい!)

例 :

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))
}

列#1.(0'ベース)専用の別のオブジェクトをctorに追加しました。

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

ただし、それは機能しません(jsbin#2 はここでは new jsbin です)。これは方法ではないと確信しています。

何か助けてください。

4

1 に答える 1

3

カスタムがまったく必要かどうかはわかりませんmyExtraction。その列のソーターを'text'代わりに変更するだけ'digit'で、残りのヘッダーで指定すると機能するはずです。

編集

2桁目をソートに使用する場合は、次のようにします。

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 に答える