danyaneh
11/12/2017 - 8:42 AM

DataTable Date Range Filter

// Date range filter
var minDateFilter = "",
    maxDateFilter = "";

$.fn.dataTableExt.afnFiltering.push(
    function (oSettings, aData, iDataIndex) {
        if (typeof aData._date == 'undefined') {
            aData._date = new Date(aData[6]).getTime();
        }

        if (minDateFilter && !isNaN(minDateFilter)) {
            if (aData._date <= minDateFilter) {
                return false;
            }
        }

        if (maxDateFilter && !isNaN(maxDateFilter)) {
            if (aData._date >= maxDateFilter) {
                return false;
            }
        }
        return true;
    }
);


$("#datepicker_from").datepicker({
    "onSelect": function (date) {
        minDateFilter = new Date(date).getTime();
        table.draw();
    }
}).keyup(function () {
    minDateFilter = new Date(this.value).getTime();
    table.draw();
});

$("#datepicker_to").datepicker({
    "onSelect": function (date) {
        maxDateFilter = new Date(date).getTime();
        table.draw();
    }
}).keyup(function () {
    maxDateFilter = new Date(this.value).getTime();
    table.draw();
});