UK Date : aoColumnDefs

by MrTest

HTML

<script src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.0/jquery.dataTables.js"></script>
<table id="table">
    <thead>
        <tr>
            <th class="uk-date-column">Date</th>
            <th>Name</th>
            <th>Surname</th>
            <th>Phone</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>01/01/01</td>
            <td>Tarik</td>
            <td>Rashad Kidd</td>
            <td>1 34 238 6239-0509</td>
        </tr>
        <tr>
            <td>11/02/01</td>
            <td>Dominic</td>
            <td>Joel Nolan</td>
            <td>1 30 147 5889-3252</td>
        </tr>
        <tr>
            <td>13/02/01</td>
            <td>Abdul</td>
            <td>Arsenio Jordan</td>
            <td>1 42 828 1680-1804</td>
        </tr>
        <tr>
            <td>05/01/01</td>
            <td>George</td>
            <td>Phillip Ray</td>
            <td>1 48 214 1034-2962</td>
        </tr>
        
        <tr>
            <td>02/01/01</td>
            <td>George</td>
            <td>Phillip Ray</td>
            <td>1 48 214 1034-2962</td>
        </tr>
        <tr>
            <td>03/01/01</td>
            <td>George</td>
            <td>Phillip Ray</td>
            <td>1 48 214 1034-2962</td>
        </tr>
        <tr>
            <td>02/02/01</td>
            <td>George</td>
            <td>Phillip Ray</td>
            <td>1 48 214 1034-2962</td>
        </tr>
        <tr>
            <td>03/02/01</td>
            <td>George</td>
            <td>Phillip Ray</td>
            <td>1 48 214 1034-2962</td>
        </tr>
    
    </tbody>
</table>

CSS

table { width: 100%;}
table td, table th {padding: 3px; text-align: center; border: 1px solid #ddd;}
#table_filter, #table_info {display: none}

JavaScript

// 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() {

    indexVal = 0;
    $('table thead .uk-date-column').each(function() {
        indexVal = $(this).index();
    });

    $('#table').dataTable({
        "bPaginate": false,
        "bLengthChange": false,
        "bFilter": true,
        "aoColumnDefs": [
            {
            "aTargets": ["uk-date-column"],
            "sType": "uk_date"}
        ]
    });
});