Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery数据表日期筛选器_Jquery_Jquery Datatables_Date Range - Fatal编程技术网

Jquery数据表日期筛选器

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", });

我有一个jquery数据表,它有日期过滤器。我的代码看起来像下面提到的plunker链接中提到的那样。为日期选择器粘贴我的JS代码

$(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();
});