如果有空格,tablesorter 的行为是否会有所不同?
我对 tablesorter 很陌生,但我被要求很快将其添加到客户站点(特别是允许他们按发布日期排序)。据我所知,日期(例如 2012 年 5 月 14 日)被读取为文本,因此我需要添加一个解析器将其更改为数字,以便正确排序。(例如 14052012)
我有这个(目前使用其他开发人员编写的代码 - 位于 tablesorter.js 中)。
$.tablesorter.addParser({
id: 'dayMonthYear',
is: function(s) {
return false;
},
format: function(s) {
var date = s.match(/^(\d{1,2})[ ](\w{3})[ ](\d{4})$/);
var day = String(date[1]);
if (day.length == 1) {
day = "0" + day;
}
var month = monthNames[date[2]];
var year = date[3];
var sortableDate = '' + year + month + day;
return sortableDate;
},
type: 'numeric'
});
var monthNames = {};
monthNames["Jan"] = "01";
monthNames["Feb"] = "02";
monthNames["Mar"] = "03";
monthNames["Apr"] = "04";
monthNames["May"] = "05";
monthNames["Jun"] = "06";
monthNames["Jul"] = "07";
monthNames["Aug"] = "08";
monthNames["Sep"] = "09";
monthNames["Oct"] = "10";
monthNames["Nov"] = "11";
monthNames["Dec"] = "12";
我也有这个放在 html 页面中
$("table#searchresults").tablesorter ({
headers: {
0: {sorter:'dayMonthYear'}
}
});
尽管我已经看到此代码有效,但它似乎对我不起作用。该月仍以文本形式读取。
有任何想法吗?我唯一能看到的工作演示和我的站点之间的不同之处在于,表格中有大量空白,这可能是个问题吗?
编辑:刚刚发现这个http://beausmith.com/blog/custom-date-sorting-for-jquery-tablesorter-plugin/看起来对上面的代码很熟悉。希望它有帮助...