2012-03-19 3 views
0

미리 읽어 주셔서 감사합니다.스트럿츠 : 캘린더의 날짜 범위 강조하기 (JQuery/Javascript)

저는 Struts에서 웹 응용 프로그램을 프로그래밍하고 있습니다.

저는 사용자보기에서 사이드 바에 캘린더로 JQuery datepicker 1.7을 사용하고 있습니다. (찾을 수있는 최선의 방법입니다)

초기 날짜 (startDate)부터 시작하여 배열에있는 여러 미리 알림의 끝 (endDate)까지 일 그룹을 강조하고 싶습니다.. 이렇게하면 사용자는 각 미리 알림에 대해 조치를 취하기 위해 남긴 사용 가능한 모든 요일을 응용 프로그램의 일정에서 볼 수 있습니다.

이미보기에서 액세스 할 수있는 미리 알림 배열이 있습니다. 나는 이곳에서 위대한 동료의지도 덕분에 제대로 구현할 수 있었다.

$(function(){ 

      $('#datepicker').datepicker({ 
       flat: true, 
       numberOfMonths: [1,1], 
       dateFormat: 'dd/mm/yy', 
       beforeShowDay: highlightDays 
      }); 

즉, 다른 함수가, highlightDays 나에게 문제를 일으키는 하나입니다 :

그것은 매개 변수의 배열 "알림"입니다이는 날짜 선택기 내 자바 스크립트 함수

입니다 reminders [i] .start가 startDate이고 reminders [i] .end는 미리 알림 i의 endDate이고 i는 배열의 미리 알림 수입니다.

function highlightDays(reminders) { 
      for (var i = 0; i < reminders.length; i++) { 

       /** Below: 
       *If startDate is smaller than endDate, 
       *then highlight the days inbetween. 
       */ 

       if (new Date(reminders[i].start).toString() <= 
        new Date(reminders[i].end).toString()){    
        return [true, 'ui-state-highlight']; 
       } 
      } //Otherwise do not highlight 
      return [true, '']; 
     } 

문제는 내가 응용 프로그램을 열고 로그인합니다. 그리고 아파치 로그 또는 출력 오류를 표시하지 않는 경우에도 표시되지 않습니다 달력입니다. 나는 알고 싶습니다. 내가 틀렸다고 생각합니까? 조사를 계속하겠습니다 만, 귀하의 의견을 진심으로 감사드립니다!

P.D : 미리 알림 배열의 요소 (endDate, startDate)에 액세스하여 화면에 이러한 날짜를 인쇄 할 수 있으므로 미리 알림 배열이 비어 있지 않음을 의미합니다.

다시 읽어 주셔서 감사합니다. http://jqueryui.com/demos/datepicker/#event-beforeShowDay

가입일

답변

1

함수는 파라미터로서 날짜 걸리고,이 날짜를 선택할 수 있는지 여부를 나타내는 참/거짓 내지 [0]와 동일한 배열을 반환한다 [1] CSS 같 기본 프레젠테이션의 경우 클래스 이름 또는 '', [2]는이 날짜에 대한 선택적 팝업 툴팁입니다. 표시되기 전에 날짜 표시기에서 매일 호출됩니다.

귀하의 콜백 함수가 단일 날짜를 매개 변수로 허용하지 않고 날짜 범위의 배열을 사용하고 있습니다.

remdinder 값의 루프 내에서 highlightdays 함수를 호출하는 방법을 생각해 볼 수 있습니다.

+0

좋은 생각입니다. 구현하려고합니다. – AndresR