2016-06-13 3 views
1

jQuery DataTable의 날짜 범위 검색을 추가하려고했습니다. 기간 필터가 정상적으로 작동하고 모든 열/행에서 검색이 정상적으로 작동합니다.jQuery DataTable 날짜 범위 검색

내 문제는 테이블 검색 (이벤트)이 정상 검색에서 변경된 후에 만 ​​실행되는 순간입니다. 그래서 다시 칠하기/다시 그리기/테이블 업데이트 이벤트가 필요합니다.

그래서 데이터 테이블에서 새로 고침과 같은 호출이 필요합니다. 당신은 날짜 범위를 변경할 때

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

를 호출 할 필요가

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

:

여기에 내 현재 코드입니다. 귀하의 날짜 선택 플러그인을 모르지만 전화를 onChange datepicker와 같은 것으로 호출해야합니다.

비슷한 예가 있습니다. https://datatables.net/examples/plug-ins/range_filtering.html

+0

이 작동하지 않습니다. ASP.NET C#으로 Datatable.JS를 참조하는 테이블을 만들었습니다! 이것은 아마 문제일까요,이 물건에 접근 할 수 없습니까. –