Я использую DataTable Plugin для сортировки таблиц html. Работает нормально. Теперь у меня есть столбец с датами (д / м / г) в текстовых полях. Сортировка по этому столбцу не работает. Я хочу сделать это сортируемым по дате.
Сначала я применил следующий код для сортировки текстовых полей.
Таблица с 3 полями:
<script type='text/javascript' charset='utf-8'>
$.fn.dataTableExt.afnSortData['dom-text'] = function ( oSettings, iColumn ) {
var aData = [];
$( 'td:eq('+iColumn+') input', oSettings.oApi._fnGetTrNodes(oSettings) ).each( function () {
aData.push( this.value );
} );
return aData;
}
$(document).ready(function() {
$('#sortableTable').dataTable( {
'aoColumns': [null, null,{ 'sSortDataType': 'dom-text' }]
} );
} );
</script>
Сортировка по дате работает нормально в столбце даты без текстовых полей.
Как применить сортировку даты по дате в текстовом поле.
EDIT:
В jquery.dataTables.js есть следующие функции
"date-asc": function ( a, b )
{
var x = Date.parse( a );
var y = Date.parse( b );
if ( isNaN(x) || x==="" )
{
x = Date.parse( "01/01/1970 00:00:00" );
}
if ( isNaN(y) || y==="" )
{
y = Date.parse( "01/01/1970 00:00:00" );
}
return x - y;
},
"date-desc": function ( a, b )
{
var x = Date.parse( a );
var y = Date.parse( b );
if ( isNaN(x) || x==="" )
{
x = Date.parse( "01/01/1970 00:00:00" );
}
if ( isNaN(y) || y==="" )
{
y = Date.parse( "01/01/1970 00:00:00" );
}
return y - x;
},