我有一个表格,其中一列是日期时间:例如:2011年1月11日下午12:34
不幸的是,列的宽度不允许我在一行中以全长显示日期时间,因此我将内容显示为两行,如
1/11/2011
12:34 PM
但如果列内容中包含<br>
,则tablesorter将无效。知道如何通过tablesorter为这个问题实现排序吗?我正在使用tablesorter修订版2.0.5b。我无法升级到更新的版本,因为它可能会破坏rails应用程序的现有功能。
tablesorter是jquery插件
答案 0 :(得分:1)
您可能需要一个自定义解析器来删除回车符;老实说,如果允许文本换行,我认为不需要添加<br>
,并为该列设置宽度。
无论如何,请尝试使用此代码(demo)
$(function () {
$.tablesorter.addParser({
// set a unique id
id: 'date',
is: function (s, table, cell) {
// return false so this parser is not auto detected
return false;
},
format: function (s, table, cell, cellIndex) {
// replace extra spacing/carriage returns
var str = s.replace(/\s+/g," "),
date = new Date( str );
return date instanceof Date && isFinite(date) ? date.getTime() : s;
},
// set type, either numeric or text
type: 'numeric'
});
$('table').tablesorter({
theme: 'blue',
headers: {
7: { sorter: 'date' }
}
});
});