1
下面的代碼摘自:http://datatables.net/forums/discussion/2467/need-help-for-sorting-date-with-ddmmyyyy-format/p1無法使用數據表日期分揀jQuery插件
這裏是我如何調用該功能:
$('#tab').dataTable({
'aoColumns': [null, null, null, null, { "sType": "date-euro" }]
});
我在下面的代碼中添加了一個單獨的.js文件。我如何調用排序功能?
function trim(str) {
str = str.replace(/^\s+/, '');
for (var i = str.length - 1; i >= 0; i--) {
if (/\S/.test(str.charAt(i))) {
str = str.substring(0, i + 1);
break;
}
}
return str;
}
(function($) {
$.fn.dataTableExt.oSort['date-euro-asc'] = function(a, b) {
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 ...
}
if (trim(b) != '') {
var frDateb = trim(b).split(' ');
var frTimeb = frDateb[1].split(':');
frDateb = frDateb[0].split('/');
var y = (frDateb[2] + frDateb[1] + frDateb[0] + frTimeb[0] + frTimeb[1] + frTimeb[2]) * 1;
} else {
var y = 10000000000000;
}
var z = ((x < y) ? -1 : ((x > y) ? 1 : 0));
return z;
};
})(jQuery);
(function($) {
$.fn.dataTableExt.oSort['date-euro-desc'] = function(a, b) {
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;
}
if (trim(b) != '') {
var frDateb = trim(b).split(' ');
var frTimeb = frDateb[1].split(':');
frDateb = frDateb[0].split('/');
var y = (frDateb[2] + frDateb[1] + frDateb[0] + frTimeb[0] + frTimeb[1] + frTimeb[2]) * 1;
} else {
var y = 10000000000000;
}
var z = ((x < y) ? 1 : ((x > y) ? -1 : 0));
return z;
};
})(jQuery);
那是你的實際代碼?這裏缺少''':'$('#tab).dataTable({...});'。另外,你確定jQuery在初始化dataTables之前被加載嗎? – 2012-04-05 20:46:31
我已經添加了缺少'問題,我發佈問題時意外刪除它。 jQuery在我初始化dataTables之前加載,其他dataTables功能按預期工作。 – user701254 2012-04-05 20:50:08