Это должно делать то, что вам требуется, но потребуется некоторая конфигурация:
$.fn.dataTableExt.afnFiltering.push(
function(oSettings, aData, iDataIndex) {
if (typeof $('#duration').val() !== "undefined") {
var duration = $('#duration').val();
var durationBits = duration.split(" ");
var durationInt = ~~durationBits[0];
var durationString = durationBits[1];
var now = moment("2013/08/11", "YYYY/MM/DD");
var targetDate = now.subtract(durationInt, durationString);
var iDateCol = 4;
var colDate = aData[iDateCol];
if (duration === "All") {
return true;
} else {
return moment(colDate, "YYYY/MM/DD").isSameOrAfter(targetDate);
}
} else {
return true;
}
}
);
Вам также необходимо momentjs быть доступны. У меня есть надуманный рабочий пример here. Мы в основном принимаем дату и используем moment
, чтобы проверить, совпадает ли дата в столбце или после даты с соответствующим вычитанием. Затем мы перерисовываем таблицу при изменении значения выбора. Надеюсь, это поможет.
Не могли бы вы предоставить JSFiddle с некоторыми примерами данных, чтобы мы могли экспериментировать? – annoyingmouse