I have a table that displays the 'freshness' of posts in this format:
30 second,
1 week
3 day,
5 month
But I can't figure out how to sort them, this is what I've achieved so far:
function getRank(name) {
//newname = name.slice(2,name.length);
//alert(name);
newname = name;
var rankNumber;
if (newname == "1 day"){
rankNumber = 1;
} else if (newname == "week"){
rankNumber = 2;
} else if (newname == "month") {
rankNumber = 3;
} else if (newname == "year") {
rankNumber = 4;
}
console.log(newname);
return rankNumber + parseInt(name.slice(0,1));
}
jQuery.fn.dataTableExt.oSort["rank-desc"] = function (x, y) {
return getRank(x) < getRank(y);
};
jQuery.fn.dataTableExt.oSort["rank-asc"] = function (x, y) {
return getRank(x) > getRank(y);
}
$(document).ready(function () {
var oTable = $('#topics').dataTable({
"autoWidth": false,
"bLengthChange": false,
"fixedColumns": true,
"aoColumnDefs" : [{
"bSortable" : true,
"aTargets" : [5],
"sType": "rank"
}]
});