私はこのすばらしいバージョンの jQuery Tablesorter を使用しています: http://mottie.github.com/tablesorter/docs/index.html
すべてがうまく機能していますが、今はこの問題があります。私のテーブルには、バスケットボール選手のポジションを含む列が 1 つあります。したがって、その列を PG-SG-SF-PF-C のように論理的に並べ替える必要があります。
このカスタム ソート関数を作成しようとしました。スクリプトの列 2 を見てください。
$(document).ready(function() {
$(".stats").tablesorter({
sortInitialOrder: 'desc',
sortRestart: true,
// Enable use of the characterEquivalents reference
sortLocaleCompare: false,
// if false, upper case sorts BEFORE lower case
ignoreCase: true,
headers: {
0: {
sortInitialOrder: 'asc'
},
1: {
sortInitialOrder: 'asc'
},
2: {
textSorter: function(a, b){
var positions = {
"PG": 0,
"SG": 10,
"SF": 20,
"PF": 30,
"C": 40
};
return ((positions[a] < positions[b]) ? -1 : ((positions[a] > positions[b]) ? 1 : 0));
},
sortInitialOrder: 'asc'
}
}
}
);
});
ただし、列は通常のテキスト文字列 (C-PF-PG-SF-SG) のようにアルファベット順にソートされています。
どこで間違いを犯していますか?私はJavascriptが特に得意ではないので、おそらくソート機能のどこかにあります。ありがとうございました。