我注意到當日期也是鏈接時,英國日期排序不起作用。jQuery DataTables - 當日期也是鏈接時排序不起作用
實施例1(demo)
這裏的時間是純測試。工程完好。
<tr>
<td>01/01/01</td>
<td>Tarik</td>
<td>Rashad Kidd</td>
<td>1 34 238 6239-0509</td>
</tr>
實施例2(demo)
這裏的時間也是一個鏈接。根本不起作用。儘管沒有拋出任何錯誤。
<tr>
<td><a href="#">01/01/01</a></td>
<td>Tarik</td>
<td>Rashad Kidd</td>
<td>1 34 238 6239-0509</td>
</tr>
我也注意到,排序不上,即使它們是鏈接的任何其他元素的工作。只有日期作爲鏈接纔是問題。
我用下面的JS代碼:
// UK Date Sorting
jQuery.fn.dataTableExt.oSort['uk_date-asc'] = function(a,b) {
var ukDatea = a.split('/');
var ukDateb = b.split('/');
var x = (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1;
var y = (ukDateb[2] + ukDateb[1] + ukDateb[0]) * 1;
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
};
jQuery.fn.dataTableExt.oSort['uk_date-desc'] = function(a,b) {
var ukDatea = a.split('/');
var ukDateb = b.split('/');
var x = (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1;
var y = (ukDateb[2] + ukDateb[1] + ukDateb[0]) * 1;
return ((x < y) ? 1 : ((x > y) ? -1 : 0));
}
$(document).ready(function() {
$('#table').dataTable({
"bPaginate": true,
"bLengthChange": true,
"bFilter": true,
"aoColumnDefs" : [
{ "aTargets" : ["uk-date-column"] , "sType" : "uk_date"}
]
});
});
任何幫助非常讚賞。
謝謝!你能解釋一下你有什麼改變,爲什麼?非常感激! – Iladarsda 2012-03-13 09:26:13
@NewUser我用'變種ukDatea = $(a)中的.text()分裂( '/');'代替'VAR ukDatea = a.split( '/');'。通過這種方式,日期可以正確分割,因爲您只獲取鏈接的文本而不是標記 – 2012-03-13 09:30:25
好!非常簡單直接的解決方案。謝謝! – Iladarsda 2012-03-13 09:34:47