2016-06-23 2 views
0
$(document).ready(function() { 
var date = new Date(); 

$('#calendar').fullCalendar({ 
    header: { 
     left: 'prev,next today', 
     center: 'title' 
     //right: 'month,basicWeek,basicDay' 
    }, 

    defaultDate: new Date(), 
    editable: true, 
    events: [], 
    firstDay: 6, 
    //eventLimit: true, // allow "more" link when too many events 
    dayClick: function (date,allDay,jsEvent,view) { 

     var findByClass = $('.week-highlight'); 
     if (findByClass.length < 1) { 

      $(this).parent().addClass('week-highlight'); 

      var e = $('<div></div>'); //element 
      var cal = $('#calendarContainer').append(e); 
      e.attr('id','myCalendar'); 

      //Open second Calendar if week selected on 1st calendar 
      $('#myCalendar').fullCalendar({ 
       header: { 
        left: 'prev,next today', 
        center: 'title' 
        //right: 'month,basicWeek,basicDay' 
       }, 
       defaultDate: new Date(), 
       editable: false, 
       //events: [], 
       firstDay: 6, 
       events: function() { 
        var fetchDate; 

        var clickedDate = $('#calendar').on('click','.fc-day,.fc-day-number',function(e){ 
         e.stopPropagation(); 
         fetchDate = $(this).data("date"); 
         var thisDate = $('#myCalendar').find(".fc-day[data-date='"+fetchDate+"']"); 

         //add id for each td on $(#myCalenda), then thisDate parent parent ... 
         thisDate.addClass('disabled'); 
         thisDate.parent().addClass('disabled'); 

         console.log(fetchDate); 
         console.log(thisDate); 
        }); 
        //fetchDate is undefined here must move to clickedDate... 
       }, 
       //fallBack to previous calendar 
       dayClick: function (date,allDay,jsEvent,view) { 
        var findByClass = $('.week-highlight1'); 

        // is this the GODDAMN DISABLED WEEK?!?!!!!!11o1111o 
        if ($(this).closest("tr").hasClass("disabled")) { 
         return; 
        } 

        if (findByClass.length < 1) { 
         $(this).parent().addClass('week-highlight1'); 
        } 
        else { 
         findByClass.attr('class',''); 
        } 
       } 
      }); 
     } 
     else { 
      findByClass.attr('class',' '); 
      $('#myCalendar').detach(); 
     } 
    } 
}); 

});다음 캘린더 후 fullCalendar 재설정

내 HTML 그냥이 <div id='calendar'></div> <div id="calendarContainer"> </div>

내가 다음 달보기 위해 클릭하면 그 날에 날짜는 것 '하이라이트'일주일 내내, 지시 대상에 클릭 만하면 여기 fullCalendar 내 문제를 사용하여 임과 나는 '강조 표시된'주 (캘린더 재설정은 추가 된 모든 클래스를 지 웁니다)가 있던 달로 돌아 왔습니다. 어쨌든 행의 상태를 저장?! 아니면 이벤트에 추가 하시겠습니까?! 나는 나 자신을 분명하게 만들었는지 모르지만 thnkz.

답변

0

보기를 전환 할 때 강조 표시 상태가 유지 될 수 있도록 dayClick뿐만 아니라 viewRender에도 동일한 코드를 추가해야합니다.

관련 문제