Jquery数据表日期筛选器
我有一个jquery数据表,它有日期过滤器。我的代码看起来像下面提到的plunker链接中提到的那样。为日期选择器粘贴我的JS代码Jquery数据表日期筛选器,jquery,jquery-datatables,date-range,Jquery,Jquery Datatables,Date Range,我有一个jquery数据表,它有日期过滤器。我的代码看起来像下面提到的plunker链接中提到的那样。为日期选择器粘贴我的JS代码 $(function() { var oTable=$('#datatable').DataTable({ "oLanguage": { "sSearch": "Filter Data" }, "iDisplayLength": -1, "sPaginationType": "full_numbers", });
$(function() {
var oTable=$('#datatable').DataTable({
"oLanguage": {
"sSearch": "Filter Data"
},
"iDisplayLength": -1,
"sPaginationType": "full_numbers",
});
$('#datepicker_from').click(function() {
$("#datepicker_from").datepicker("show");
});
$('#datepicker_to').click(function() {
$("#datepicker_to").datepicker("show");
});
$("#datepicker_from").datepicker({
"onSelect": function(date) {
minDateFilter = new Date(date).getTime();
oTable.fnDraw();
}
}).keyup(function() {
minDateFilter = new Date(this.value).getTime();
oTable.fnDraw();
});
$("#datepicker_to").datepicker({
"onSelect": function(date) {
maxDateFilter = new Date(date).getTime();
oTable.fnDraw();
}
}).keyup(function() {
maxDateFilter = new Date(this.value).getTime();
oTable.fnDraw();
});
});
// Date range filter
minDateFilter = "";
maxDateFilter = "";
$.fn.dataTableExt.afnFiltering.push(
function(oSettings, aData, iDataIndex) {
if (typeof aData._date == 'undefined') {
aData._date = new Date(aData[0]).getTime();
}
if (minDateFilter && !isNaN(minDateFilter)) {
if (aData._date < minDateFilter) {
return false;
}
}
if (maxDateFilter && !isNaN(maxDateFilter)) {
if (aData._date > maxDateFilter) {
return false;
}
}
return true;
}
);
http://plnkr.co/edit/yTAmQRJHN1zVdzYJBKop?p=preview
$(函数(){
变量oTable=$('#datatable')。datatable({
“语言”:{
“sSearch”:“筛选数据”
},
“iDisplayLength”:-1,
“sPaginationType”:“完整编号”,
});
$('#datepicker_from')。单击(函数(){
$(“#datepicker_from”)。datepicker(“show”);
});
$('#日期选择器_to')。单击(函数(){
$(“#日期选择器_to”)。日期选择器(“show”);
});
$(“#日期选择器_from”)。日期选择器({
“onSelect”:功能(日期){
minDateFilter=新日期(Date).getTime();
oTable.fnDraw();
}
}).keyup(函数(){
minDateFilter=新日期(this.value).getTime();
oTable.fnDraw();
});
$(“#日期选择器_to”)。日期选择器({
“onSelect”:功能(日期){
maxDateFilter=新日期(Date).getTime();
oTable.fnDraw();
}
}).keyup(函数(){
maxDateFilter=新日期(this.value).getTime();
oTable.fnDraw();
});
});
//日期范围过滤器
minDateFilter=“”;
maxDateFilter=“”;
$.fn.dataTableExt.afnFiltering.push(
功能(oSettings、aData、iDataIndex){
如果(数据类型.\u日期=='未定义'){
aData._date=新日期(aData[0]).getTime();
}
if(minDateFilter&!isNaN(minDateFilter)){
if(数据日期maxDateFilter){
返回false;
}
}
返回true;
}
);
http://plnkr.co/edit/yTAmQRJHN1zVdzYJBKop?p=preview
从和到目前为止,范围过滤器似乎工作良好。但随着这些
我可能有一个单选按钮(即:本周和本月)
本周单选按钮将给出从今天日期到上周的结果,月份单选按钮也是如此。
如何解决此问题。在日期过滤器后添加单选按钮:
<p id="radio_date_filter">
<input type="radio" name="filterTable" value="week" />This Week
<input type="radio" name="filterTable" value="month"/>This Month
</p>
谢谢:)但是在plunker中,如果我现在选择week复选框,它会显示假设它是2015年5月27日和一周以上的记录,但我想获取21-27日之间的记录,并且与月份相同。请协助Hi Bhavin,目前似乎有一个小问题,上面plunker中的日期格式是mm dd yy,我想要日期格式为dd-mm-yyyy如果我添加了dateFormat:“dd-mm-yy”搜索似乎不起作用这里必须做什么请协助?@ravicandy:搜索起作用了。你的意思是过滤(按本月和本周)不起作用吗?没有bhavin如果我将datatable中的日期字段更改为dd/MM/yyyy,那么搜索将无法准确修改位置?
$("#radio_date_filter input:radio").click(function(){
var currentDate = new Date();
if($(this).val() == 'week'){
var weekDate = new Date();
var first = weekDate.getDate() - 7;
var firstDayofWeek = new Date(weekDate.setDate(first));
minDateFilter = firstDayofWeek.getTime();
}else{
var monthDate = new Date();
var firstDayOfMonth = new Date(monthDate.setMonth(monthDate.getMonth() - 1));
minDateFilter = firstDayOfMonth.getTime();
}
maxDateFilter = currentDate.getTime();
oTable.fnDraw();
});