私は、ユーザーが並べ替えることができる名前と年齢のテーブルを持っています。ページがinitally、sortList
リスト最年少の古いものから順に行、およびをロードすると、ユーザーが実際に年齢<th>
をクリックしたときに、私は同じこと(セカンドアルファベット順の並べ替え)をしたい二次Z.jQuery/Tablesorter:二次アルファベット順の並べ替えを維持する
から、 sortForce
はアルファベット順のソートを作成しています。代わりがありますか?
$('#super_results table').tablesorter({
sortForce: [[0,0]],
sortList: [[1,1],[0,0]]
});
または私は誤解してsortForce
ですか? Documentation here.
アップデート:私は私のためにこれを行うためのプラグインを見つけることができませんでしたので、私はテーブルを構築多次元配列をソートし、いくつかのコードを書きました。最初の最古に最年少(num2Sort
種類を、あなたはtableContents
と呼ばれる配列を持っている、とZ.から、その後tableContents[0]
は、名前の部分配列であるとtableContents[1]
は、最初の最も古いから最年少の配列をソートしますtableContents.sort(numSort)
を呼び出して、年齢の部分配列である、とした場合)次に、createHtml(data)
を使用してテーブルを再作成し、その結果を使用して古いテーブルを置き換えることができます。
function numSort(a, b) {
if (a[1] === b[1]) {
if (a[0] === b[0]) {
return 0;
}
return (a[0] < b[0]) ? -1 : 1;
}
return (a[1] < b[1]) ? 1 : -1;
}
function num2Sort(a, b) {
if (a[1] === b[1]) {
if (a[0] === b[0]) {
return 0;
}
return (a[0] < b[0]) ? -1 : 1;
}
return (a[1] < b[1]) ? -1 : 1;
}
function createHtml(data) {
var completeListLength = MYAPP.completeList.length,
html = '<table>';
html += '<thead>';
html += '<tr>';
html += '<th>names</th>';
html += '<th>ages</th>';
html += '</tr>';
html += '</thead>';
html += '<tbody>';
for (var i = 0; i < completeListLength; i += 1) {
html += '<tr>';
html += '<td>' + data[i][0] + '</td>';
html += '<td>' + data[i][1] + '</td>';
html += '</tr>';
}
html += '</tbody>';
html += '</table>';
return html;
}
それはあなたがsortForceを削除すると動作しますか? – typeof
sortForceを削除して年齢をクリックすると、表の年齢はソートされますが、アルファベットはありません。 – user460847
私はプラグインがあなたが求めていることをする能力を持っていません。 – ifaour