2014-09-25 2 views
0

특정 classname의 day 배경을 변경하는 eventRender 함수가 있습니다.view.element.find가 fullcalendar v2에서 작동하지 않습니다.

eventRender: function (event, element, view) {    
    if (event.className == 'booked') { 
     var dateString = $.fullCalendar.formatDate(event.start, 'yyyy-MM-dd'); 
     view.element.find('.fc-day[data-date="' + dateString + '"]').css('background-color', '#FAA732');       
    }    
}, 

이 기능은 fullcalendar 1.6.4에서는 제대로 작동하지만 버전 2.1에서는 제대로 작동하지 않습니다. (이미 날짜 변환으로 변경됨).

Uncaught TypeError: Cannot read property 'find' of undefined fullcalendar 

또 다른 문제는,이 기능은 이벤트 시작의 배경,

답변

1
$.fullCalendar.formatDate(event.start, 'yyyy-MM-dd'); 

가 더 이상 필요하고 * 2에서 작동하지 않는 이벤트가 아니라 전체 날짜를 변경합니다. 이는 event.start이 이미 momentjs 개체이기 때문입니다. 당신은 단순히 view.element에 관해서는

event.start.format("YYYY-MM-DD"); 

, 그것은 view.el[0]로 대체 사용할 수 있습니다, 그래서 당신은 특정 날짜 변경

$(view.el[0]).find('.fc-day[data-date=' + dateString + ']') 

를 사용해야합니다.

당신의 eventRender 전체 코드에 대한
eventRender: function(event, element, view) { 
    var dateString = event.start.format("YYYY-MM-DD"); 

    $(view.el[0]).find('.fc-day[data-date=' + dateString + ']') 
       .css('background-color', '#FAA732'); 
}, 

JSFiddle demo을 확인하게 될 것이다.

+0

이벤트가 아닌 배경을 변경해야합니다. 이것을 확인 => http://jsfiddle.net/gx2Lu06f/. 1.6.4 버전에서 작동하지만 2.1에서는 발생하지 않습니다. – l1th1um

+0

필요한 작업을 수행하는 JSfiddle의 업데이트 된 응답을 확인하십시오. –

+0

위대한 .... 감사합니다 – l1th1um

관련 문제