我试图为jQuery DataTable添加日期范围搜索。日期范围过滤器工作正常,所有列/行的正常搜索也正常工作。
我的问题是,正常搜索中的更改后,表(事件)的刷新才会执行。所以我需要一个重新绘制/重绘/更新表的事件。
所以我需要调用像数据表刷新的东西。
这是我目前的代码:
window.onload = function () {
$(document).ready(function () {
try {
var table = $('#MainContent_gridClaim').dataTable();
} catch (Err) { };
});
$('.datepicker').pickadate({
selectMonths: true, // Creates a dropdown to control month
selectYears: 15 // Creates a dropdown of 15 years to control year
});
};
$.fn.dataTable.ext.afnFiltering.push(function (settings, data, indx) {
//Min Max Document
var min = document.getElementById("min").value;
var max = document.getElementById("max").value;
if (min === "" || max === "") {
return true;
}
//Res Min Max
var resMin = min.split(".");
var resMax = max.split(".");
//Min Max Date
var dMin = new Date(resMin[2],resMin[1],resMin[0],0,0,0,0);
var dMax = new Date(resMax[2],resMax[1],resMax[0],0,0,0,0);
var resData = data[5].split(".");
var resYear = resData[2].split(" ");
var dJet = new Date(resYear[0], resData[1], resData[0], 0, 0, 0, 0);
var minSec = dMin.getTime();
var maxSec = dMax.getTime();
var actualSec = dJet.getTime();
if (minSec<=actualSec&&actualSec<=maxSec) {
return true;
} else {
return false;
}
});
答案 0 :(得分:0)
您需要致电
$('#MainContent_gridClaim').dataTable().draw();
更改日期范围时。我不知道您的日期选择器插件,但您需要将dataTable.draw()
电话添加到日期选择器onChange
之类的内容。
有一个类似的例子https://datatables.net/examples/plug-ins/range_filtering.html