我正在尝试通过具有英国日期和时间的 DataTables pluing 对表中的列进行排序,如下所示:21/09/2013 11:15
使用来自 Ronan Guiloux 的代码:
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"uk_date-pre": function ( a ) {
if ($.trim(a) != '') {
var frDatea = $.trim(a).split(' ');
var frTimea = frDatea[1].split(':');
var frDatea2 = frDatea[0].split('/');
var x = (frDatea2[2] + frDatea2[1] + frDatea2[0] + frTimea[0] + frTimea[1] + frTimea[2]) * 1;
} else {
var x = 10000000000000; // = l'an 1000 ...
}
return x;
},
"uk_date-asc": function ( a, b ) {
return a - b;
},
"uk_date-desc": function ( a, b ) {
return b - a;
}
} );
并且我还添加了此代码以自动检测它,因此我不必设置它用于哪一列:
jQuery.fn.dataTableExt.aTypes.unshift(
function ( sData )
{
if (sData !== null && sData.match(/(0[1-9]|[12]\d|3[0-2])\/(0[1-9]|1[0-2])\/\d{4} (0[1-9]|1\d|2[0-3]):(0[1-9]|[1-5]\d)$/))
{
//console.log(sData);
return 'uk_date';
}
return null;
}
);
我遇到的问题是,虽然我可以看到正则表达式与字符串匹配,但它不是然后调用 'uk_date-pre'、'uk_date-asc' 或 'uk_date-desc' 谁能解释它为什么不起作用?