jQuery DataTable 日期范围搜索
Posted
技术标签:
【中文标题】jQuery DataTable 日期范围搜索【英文标题】:jQuery DataTable Date Range Search 【发布时间】:2016-10-14 03:54:46 【问题描述】:我尝试为 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;
);
【问题讨论】:
【参考方案1】:你需要打电话
$('#MainContent_gridClaim').dataTable().draw();
当您更改日期范围时。我不知道您的日期选择器插件,但您需要将 dataTable.draw()
调用添加到日期选择器的 onChange
之类的内容中。
还有一个类似的例子https://datatables.net/examples/plug-ins/range_filtering.html
【讨论】:
它不起作用。我用 ASP.NET C# 创建了引用 Datatable.JS 的表!这可能是一个问题吗,我无法访问这些东西。以上是关于jQuery DataTable 日期范围搜索的主要内容,如果未能解决你的问题,请参考以下文章
使用 Jquery Datepicker 进行 PHP MYSQL 日期范围搜索
Jquery插件类似于datable,但根据需要具有ajax分页和服务器端搜索