2017-05-01 3 views
0

Ich habe ein Projekt Here, die ich nach Datenbereich filtern muss.Wie filtert man mehrere Werte in Datatables?

Ich weiß nicht, wie die .search() -Methode einen zweiten Parameter hinzufügen ...

ich so etwas wie

  table.column(8).search($('#filter_start_date').val() 
      + $('this').val() + ')', true).draw(); 

Ich habe versucht zu tun:

 var datepickersOpt = { 
      dateFormat: 'dd/mm/yy', 
      minDate : null 
     } 

     var dates = []; 
     $("#filter_start_date").datepicker($.extend({ 

     },datepickersOpt)); 

     $("#filter_end_date").datepicker($.extend({ 
      onSelect: function() { 

       dates.push('(?=.*' + $('#filter_start_date').val() + ')'); // 
       not sure about this regex 

       dates.push('(?=.*' + $(this).val() + ')'); 

       table.column(8).search(dates.join('|'), true, false, 
       true).draw(); 

      } 
     },datepickersOpt)); 

Antwort

0

Verstanden Here

$.fn.dataTable.ext.search.push(
    function(settings, data, dataIndex) { 
     var min = new Date($('#filter_start_date').val()); 
     var max = new Date($('#filter_end_date').val()); 
     var date_var = new Date(data[4]); // use data for the age column 

     if ((isNaN(min) && isNaN(max)) || (isNaN(min) && date_var <= max) || 
     (min <= date_var && isNaN(max)) || (min <= date_var && date_var <= max)) { 
      return true; 
     } 

     return false; 
    } 
); 
Verwandte Themen