jquerytablesorterを使用してテーブルを並べ替えています。質問をグーグルで検索しようとしましたが、探しているものが見つかりませんでした。
コンテンツが動的に変化するテーブルがあるので、アイテムの並べ替え方法を変更したいと思います。
テーブルにテキストが入力されているケースが1つあり、デフォルトでソーターにすることができます.tablesorter()
。また、数字がテーブルにある別のケースがあるため、次のようにテーブルソーターを呼び出す必要があります。
$('table').tablesorter({
headers : {
0 : {sorter:'digit'},
1 : {sorter:'digit'},
2 : {sorter:'digit'},
3 : {sorter:'digit'}
}
});
テーブルコンテンツの数値/テキストを切り替えるテーブルにリロードするメソッドがありますが、テーブルの並べ替え方法を変更するにはどうすればよいですか。
例(擬似コード)では:
function reloadTableData
if table contains numbers user this tablesorter (I have a way to know if table contains numbers)
$('table').tablesorter({
headers : {
0 : {sorter:'digit'},
1 : {sorter:'digit'},
2 : {sorter:'digit'},
3 : {sorter:'digit'}
}
});
if table contains text use ordinary table sorter
$('table').tablesorter();
end
テキスト/数値のいずれかでテーブルデータをn回リロードできます。
私は以下を試しました:
function initTablesorter(n) {
switch(n)
{
case "number":
digitTableSorter();
break;
case "text":
defaultTableSorter();
break;
default:
}
}
function digitTableSorter(){
$('table').tablesorter({
headers : {
0 : {sorter:'digit'},
1 : {sorter:'digit'},
2 : {sorter:'digit'},
3 : {sorter:'digit'}
}
});
}
function defaultTableSorter(){
$('table').tablesorter();
}
言うまでもなく、それは機能していません。誰かが以前にこのようなことをしたことを願っています。私はしばらくの間立ち往生しています。