2010-12-17 4 views
0

이벤트를 다시 렌더링하려는 체크 상자 버튼이 있습니다. rerenderEvents 함수를 호출하지만 캘린더 생성 스크립트에서 지정한 eventRender 함수를 실행하지 않습니다. 렌더링 함수를 호출하는 $ ('# calendar'). fullCalendar ('render'); 그러나 어떤 이유로 인해 같은 날을 차지하는 이벤트 이벤트가 겹쳐서 표시되는 대신 서로 겹칩니다. 여기 rerenderEvents가 eventRender 콜백 및 기타 버그를 호출하지 않습니다.

는 초기화 파라미터가 읽기 쉽도록 제거 된, 내 코드입니다 : 없음 : 나는 디스플레이를 설정하지 요소에 클래스를 추가

$('#calendar').fullCalendar({ 
    eventRender: function(event, element) { 
     //alert(event.title); 
     if(event.status == 1) { 
     //alert(event.title); 
     if(!$("#accepted").attr("checked")) 
      return false; 
     } 
     else if(event.status == 2) { 
     if(!$("#rejected").attr("checked")) 
      return false; 
     } 
     else if(event.status == '') { 
     if(!$("#nostatus").attr("checked")) 
      return false; 
     } 
    } 
}) 

$("#accepted").change(function() { 
    $('#calendar').fullCalendar('rerenderEvents'); 
}); 

$("#rejected").change(function() { 
    $('#calendar').fullCalendar('render'); 
}); 

답변

0

대신 이벤트를 숨길 eventRender에 false를 반환하는. 이것은 내가 중첩하지 않고 찾고 있던 효과를 주었다. render 함수 만이 이것을 처리 할 코드를 두는 eventRender를 호출하기 때문에 나는 change 이벤트에서 rerenderEvents가 아닌 render 함수를 호출해야했습니다.

관련 문제