2012-01-26 11 views
2

私は現在、各ヘッダーにカスタムパーサーを使用する必要があるtablesorterテーブルを使用しています。私は上記のコードは動作しないことを知っているが、適用のより読みやすい方法があります場合、私はちょうど思ったんだけどJQuery tablesorterのカスタムパーサーをすべてのヘッダーに追加できますか?

table.tablesorter({ 
     headers: { 
      0-20: { 
       sorter:'CareerLast' 
      }, 

     } 
    }); 

:私のような、これを行う簡単な方法がありますかどうかを知りたいのですがインデックスごとに手動で各列に配置する以外は、カスタムパーサ

答えて

4

まあ、私はあなたが3つの選択肢を持っていると思う:

  1. は、初期化オプションで20を介して各ヘッダー、0を定義します。

    header : { 
        0 : { sorter : 'CareerLast' }, 
        1 : { sorter : 'CareerLast' }, 
        2 : { sorter : 'CareerLast' }, 
        // etc 
        20 : { sorter : 'CareerLast' } 
    } 
    
  2. メタデータプラグインを使用すると、ヘッダークラ​​スでソーターの定義を追加します。

    // untested, but I think this will work 
    $('table').find('thead th').addClass("{sorter:'CareerLast'}"); 
    $('table').tablesorter(); 
    
  3. forked version of tablesorterを試してみて、ちょうどクラス名

    $('table').find('thead th').addClass('sorter-CareerLast'); 
    $('table').tablesorter(); 
    
  4. としてソーターを追加
+0

値を割り当てます。それは私の人生をずっと簡単にしました! – pjonas221

+0

オプション2は私のために働いたが、私は 'CareerLast'の周りに一重引用符を追加する必要があった。 –

+0

ありがとう@GuyHollington、私は私の答えを更新しました:) – Mottie

0

addParserの 'is'からtrueを返します

例:このパーサは「N/A」私はアドオンのオプション3.ニースの仕事と一緒に行ったの-1 $.tablesorter.addParser({ id: 'num-with-na', is: function(s) { //always use this return true; }, format: function(n){ return n === 'N/A' ? -1 : n; }, type: 'numeric' });

+0

これはもうちょっと元の質問に答える方法を説明できますか? – Kmeixner

+0

opは、カスタムパーザをテーブルのすべてのカラムに適用する必要がありました(Mottie's#1のように)。これは、クラスを追加することなくそれを行う簡単な方法です – Siege

関連する問題