我看到一個其他人有同樣的問題(jquery tablesorter ajax table only sorting one direction),但它不是同一個原因。Mottie jQuery Tablesorter fork自定義排序只排序一個方向
使用jQuery的tablesorter(https://github.com/Mottie/tablesorter)的叉使用數據屬性進行排序通過定製解析器的柱(法國日期/時間):
<td data-since="28-09-2012 15:41:10">
<strong>4 jours, 16 minutes</strong> (28-09-2012 15:41:10)
</td>
我可排序ascendantly成功的列,但當我嘗試再次單擊列標題時,插件不會降級排序。
具有基本數據格式的其他列在兩個方向上都正確排序。
下面是基於自定義的分析程序,美國商務部和其他計算器帖子:
$(document).ready(function() {
//https://stackoverflow.com/questions/9550354/jquery-tablesorter-plugin-secondary-hidden-sorting
$.tablesorter.addParser({
// set a unique id
id: 'parseSinceColumn',
is: function(s) {
return /\d{1,2}-\d{1,2}-\d{1,4} \d{1,2}:\d{1,2}:\d{1,2}/.test(s);
},
format: function(s, table, cell, cellIndex) {
// get data attributes from $(cell).attr('data-something');
var cellDate = $(cell).attr('data-since');
s = s.replace(/\-/g," ");
s = s.replace(/:/g," ");
s = s.split(" ");
return new Date(s[2], s[1]-1, s[0], s[3], s[4], s[5]).getTime();
},
// set type, either numeric or text
type: 'numeric'
});
$("#pr-table").tablesorter({
headers : {
3 : { sorter: 'parseSinceColumn' }
}
});
});
你有在途中的任何想法解決這個問題?
非常感謝。
編輯:
我覺得插件真的試圖解決,但結果是一樣的。
這裏是插件的調試:
- 首先排序,成功:
排序上3,1和dir 1次(8毫秒)
重建表( 3毫秒)
完成施加部件(0毫秒)
- 第二排序,在排序沒有changement:
排序上3,0和dir 0時間(7毫秒)
重建表(3毫秒)
完成施加部件(0毫秒)