2014-04-04 2 views
0

두 날짜 사이의 엑셀 파일에서 모든, 매주, 매월 및 매년 필터링 된 데이터를 검색 중입니다. 기본적으로 '모든 레코드'를 표시하려고하지만 페이지에 액세스하거나 새로 고침 할 때마다 임의의 데이터를 표시합니다 (예 : 매주, 매월 또는 매년). 모든 레코드를 기본적으로 가질 수 있습니까? 왜 내가 임의의 데이터를 보여주고 있는지 모르겠다. [모든] [지난 주] [지난 달] [작년]jQuery는 매번 임의의 레코드를 표시합니다.

가 여기 내 jQuery를 코드입니다 :

// All 
    //////////////////////////////////////////////////////////////////////////////////////////////////// 

    var todayDate = new Date(); 
    var endDate = todayDate.getDate() + '/' + (todayDate.getMonth() + 1) + '/' + (todayDate.getFullYear() + 100); 
    var d = new Date(); 
    var st = d.setDate(todayDate.getDate() - 111365); 
    var startDate = d.getDate() + '/' + (d.getMonth() + 1) + '/' + d.getFullYear(); 
    $('#allrecordsstart').val(startDate); 
    $('#allrecordsend').val(endDate); 
    $('#TopPlayedInVenueContainer1').jtable('load', { 
     StartDate: startDate, 
     EndDate: endDate 
    }); 

    $('#allrecords').click(function (e) { 
     e.preventDefault(); 
     var startDate = $('#allrecordsstart').val(); 
     var endDate = $('#allrecordsend').val(); 

     $('#TopPlayedInVenueContainer1').jtable('load', { 
      StartDate: startDate, 
      EndDate: endDate 

     }); 

    }); 

    // Week 
    //////////////////////////////////////////////////////////////////////////////////////////////////// 

    var todayDate = new Date(); 
    var endDate = todayDate.getDate() + '/' + (todayDate.getMonth() + 1) + '/' + todayDate.getFullYear(); 
    var d = new Date(); 
    var st = d.setDate(todayDate.getDate() - 7); 
    var startDate = d.getDate() + '/' + (d.getMonth() + 1) + '/' + d.getFullYear(); 
    $('#lastWeekstart').val(startDate); 
    $('#lastWeekend').val(endDate); 

    $('#lastWeek').click(function (e) { 
     e.preventDefault(); 
     var startDate = $('#lastWeekstart').val(); 
     var endDate = $('#lastWeekend').val(); 

     $('#TopPlayedInVenueContainer1').jtable('load', { 
      StartDate: startDate, 
      EndDate: endDate 

     }); 

    }); 

    //////////////////////////////////////////////////////////////////////////////////////////////////// 

    // Month 
    //////////////////////////////////////////////////////////////////////////////////////////////////// 

    var todayDate = new Date(); 
    var endDate = todayDate.getDate() + '/' + (todayDate.getMonth() + 1) + '/' + todayDate.getFullYear(); 
    var d = new Date(); 
    var st = d.setDate(todayDate.getDate() - 30); 
    var startDate = d.getDate() + '/' + (d.getMonth() + 1) + '/' + d.getFullYear(); 
    $('#monthstart').val(startDate); 
    $('#monthend').val(endDate); 

    $('#lastMonth').click(function (e) { 
     e.preventDefault(); 
     var startDate = $('#monthstart').val(); 
     var endDate = $('#monthend').val(); 

     $('#TopPlayedInVenueContainer1').jtable('load', { 
      StartDate: startDate, 
      EndDate: endDate 

     }); 

    }); 

    //////////////////////////////////////////////////////////////////////////////////////////////////// 

    // Year 
    //////////////////////////////////////////////////////////////////////////////////////////////////// 

    var todayDate = new Date(); 
    var endDate = todayDate.getDate() + '/' + (todayDate.getMonth() + 1) + '/' + todayDate.getFullYear(); 
    var d = new Date(); 
    var st = d.setDate(todayDate.getDate() - 365); 
    var startDate = d.getDate() + '/' + (d.getMonth() + 1) + '/' + d.getFullYear(); 
    $('#yearstart').val(startDate); 
    $('#yearend').val(endDate); 

    $('#lastYear').click(function (e) { 
     e.preventDefault(); 
     var startDate = $('#yearstart').val(); 
     var endDate = $('#yearend').val(); 

     $('#TopPlayedInVenueContainer1').jtable('load', { 
      StartDate: startDate, 
      EndDate: endDate 

     }); 

    }); 

    //////////////////////////////////////////////////////////////////////////////////////////////////// 

어떤 도움이 좋을 것

탭은 앵커 링크입니다! 페이지로드에 감사

답변

1

당신은 4 가지 .jtable('load', ...) 호출을 트리거하는 것 - 각 목록에 대한 하나

// this is called on page load : 
$('#TopPlayedInVenueContainer1').jtable('load', { 
    StartDate: startDate, 
    EndDate: endDate 
}); 

$('#lastMonth').click(function (e) { 
    e.preventDefault(); 
    var startDate = $('#monthstart').val(); 
    var endDate = $('#monthend').val(); 

    // this is called when clicking on #lastMonth : 
    $('#TopPlayedInVenueContainer1').jtable('load', { 
     StartDate: startDate, 
     EndDate: endDate 

    }); 

}); 

이 쓸모없는 호출을 제거 페이지로드에, 당신은 "All records" 목록을로드 할 경우, 하나를로드 , 나머지 3 개를 삭제하십시오.


다른 점은 확인 :

  • 브라우저 콘솔을 열고 요청이 서버로 전송받을 것을 확인합니다. 원치 않는 요청을 사냥하십시오 (자바 스크립트 코드에서 그들을 실행할 수있는 장소를 찾으십시오)

  • 네트워크 탭에서 서버가 올바른 데이터로 응답하는지 확인하십시오. (- PHP/루비/파이썬/ASP.net ... <) 당신의 수정에 대한

+0

감사 - 그렇지 않으면, 당신은 당신의 서버 측 코드를 디버깅 할 것이다 나는 노력이 여기에 질문을 게시 전에이 가능한 다른 조합을 시도했습니다. 내가 여기에 아마도 빠져 있다고 생각할 수있는 다른 것이 있습니까? 귀하의 제안으로 내 코드를 업데이 트했습니다 .. 다시 고마워요 :) – pv619

+0

아니면 'All Records'를 어떻게 든 표시 할 수 있습니까? 덕분에 :) – pv619

+0

당신의 도움을 주셔서 감사합니다, 나는 그것이 캐싱 문제라고 생각합니다. 모든 사항을 지우고 코드를 실행하여 문제를 해결했습니다. – pv619

관련 문제