2017-09-27 2 views
0

선택 콜백을 사용하여 이벤트를 렌더링합니다. fullcalendar에서 'renderEvent'기능을 사용하여 선택 콜백을 사용하여 렌더링 된 모든 이벤트를 선택 취소 할 수 있습니까?전체 선택을 취소하는 방법이 있습니까? 전체 캘린더에서 'renderEvent'기능을 사용하여 선택 콜백을 사용하여 렌더링 된 모든 이벤트의 선택을 취소 하시겠습니까?

select: function(start, end) { 
    var eventData = { 
    id: 1, 
    title: 'schedule', 
    start: start, 
    end: end, 
    }; 
    $('#calendar').fullCalendar('renderEvent', eventData, true); 
} 

모든 선택 작업에 ​​대해 새로운 이벤트를 전체 일정으로 렌더링합니다. select 콜백을 통해 추가 된 모든 렌더링 된 이벤트를 지울 수있는 방법이 있습니다.

답변

0

removeEvents 함수 (https://fullcalendar.io/docs/event_data/removeEvents/)는 이벤트를 제거합니다.

제거 할 ID를 지정하거나 제거 할 이벤트를 결정하는 콜백을 작성해야합니다. 이벤트를 처음 만들었으므로 ID를 알고 있어야합니다.

//to delete a single known ID 
$('#calendar').fullCalendar('removeEvents', 123456); 

또는, (예를 들어, 이전에 "선택"콜백을 사용하여 만든 이벤트의 아이디)를 보유 ID 목록을 사용하여 더 정교한 뭔가 :

$('#calendar').fullCalendar('removeEvents', function(evt) { 
    var del = false; 
    $.each(yourIDArray, function(index, value) 
    { 
    //if the ID matches one in the array, it should be deleted, so set the return value to true as per the docs 
    if (evt.id == value) del = true; 
    return false; //used to break out from the .each loop, no point continuing once we found it 
    }); 
    return del; 
}); 

이 기능을 수행 할 수 있습니다 사용자 선택을 통해 생성 된 이벤트뿐만 아니라 캘린더의 모든 이벤트와 함께 사용됩니다.