2011-07-01 6 views
7

私はjQuery Tablesorter 2.0 pluginを使って基本的なテーブルソート機能を提供しています。行番号のあるjQueryテーブルーダー

私のテーブルには、行番号の列があります。問題は、Tablesorterプラグインがこの列を他のすべてとソートすることです。私は最初の列の "ヘッダー"属性を設定しようとしましたが、ソート機能は削除されません。別の列で並べ替えると、列の並べ替えが妨げられることはありません。

このプラグインには行番号のリストがありますか?あなたはその問題を回避する方法を考えることができますか?

+2

誰にでも下降投票... StackOverflowの何かに問題がある場合は、推論を説明するコメントを残す方が良いでしょう。そうでなければ誰も学ぶことができず、あなたのドライブバイダウンワードは価値がない。 – Brad

答えて

12

テーブルがソートされるたびに、番号を付け直す必要があるようです。 (あなたはすでにあなたのテーブルの上にtableSorterを初期化した後にそれを使用)、これを試してみてください:

var table = $("#myTable"); 
table.bind("sortEnd",function() { 
    var i = 1; 
    table.find("tr:gt(0)").each(function(){ 
     $(this).find("td:eq(0)").text(i); 
     i++; 
    }); 
}); 
+0

これは完璧です!唯一の欠点は、リナンバリングが発生している間に古い番号が短い瞬間に現れることですが、これについては何もできないと確信しています。再度、感謝します! – Brad

+0

あなたが大歓迎です、私が助けることができてうれしいです:) –

+0

このコードのおかげで、頭痛を解決するためにちょうどそれに感謝し、治療を働かせます。 –

0

私は@クリスLaplanteコードに基づいて、序数のordenation、について解決策を発見しました。このソリューションは、テーブルが作成されたときに最初にトリガーされるsortEndトリガーです。だから私はソースコードを編集する必要があります。 tablesorterソフトウェアを更新する際に考慮する必要があります。以下のため

// trigger sortend 
setTimeout(function() { 
    $(table).trigger("sortEnd"); 
}, 0); 

変更:

// trigger sortend 
if (runonce == undefined){ 
    setTimeout(function() { 
     $(table).trigger("sortEnd"); 
    }, 0); 
    runonce = true; 
} 

と変数のrunonceいくつかを定義するファイルで

jquery.tablesorter.jsライン370の周り、我々はトリガーを見つけたことができます関数appendToTableに配置します。

var runonce;     
function appendToTable(table, cache) { ... 

結果を確認するには、http://formulaeweb.es/resultados.php "Puntos"をクリックしてください。