2016-06-13 2 views
1

Я попытался добавить диапазон дат для jQuery DataTable. Фильтр диапазона дат работает нормально, и нормальный поиск по всем столбцам/строкам также работает.jQuery DataTable Дата Диапазон Поиск

Моя проблема в том, что обновление таблицы (события) выполняется только после изменения в обычном поиске. Поэтому мне нужно событие, которое перерисовывает/перерисовывает/обновляет таблицу.

Так что мне нужно вызвать что-то вроде обновления в 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

Вам нужно позвонить

$('#MainContent_gridClaim').dataTable().draw(); 

при изменении диапазона дат. Я не знаю вашего плагина для выбора даты, но вам нужно добавить dataTable.draw(), чтобы вызвать что-то наподобие onChange.

Существует аналогичный пример https://datatables.net/examples/plug-ins/range_filtering.html

+0

не работает. Я создал таблицу, которая ссылается на Datatable.JS с ASP.NET C#! Возможно, это проблема, я не могу получить доступ к этим материалам. –

Смежные вопросы