2014-03-07 4 views
1

전체 캘린더를 사용하여 종료 시간을 저장하고 캘린더에서 1 일 이상을 둘러 볼 수 있도록 드래그 할 수있는 몇 가지 문제가 있습니다. 데이터베이스에 jQuery.post를 통해 데이터를 저장하도록 설정했지만, 최종 값을 채우는 방법과 하루 이상에 걸쳐 드래그하는 기능을 파악할 수 없습니다. 여기에 제 코드가 있습니다 :전체 캘린더 저장 이벤트

var calendar = $('#calendar').fullCalendar({ 
      header: { 
       left: 'prev,next today', 
       center: 'title', 
       right: 'month,agendaWeek,agendaDay', 
      }, 

      editable: true, 
      selectable: true, 
      selectHelper: true, 

      select: function (start, end, allDay) { 
       var title = prompt('Event Title:'); 

       if (title) { 
        calendar.fullCalendar('renderEvent', { 
         title: title, 
         start: start, 
         end: end, 
        }, true); 
       } 

       calendar.fullCalendar('unselect'); 
      }, 

      eventDrop: function (event, dayDelta, minuteDelta) { 
       alert(event.title + ' was saved!'); 

       jQuery.post(
        '/event/save', 
        { 
         title: event.title, 
         start: event.start, 
         end: event.end 
        } 
       ); 
      } 
     }); 

어떤 도움을 주시면 감사하겠습니다! 감사합니다

(즉, 사람이 문제 방법을 결정하는 데 도움이된다면 나는 또한 URL을 제공 할 수 있습니다)

답변

5

귀하의 코드가 좋아 보인다. 거의 다 왔어. 요일별 이벤트 드래그 효과를 저장하려면 eventResize을 구현해야합니다. 이상적으로는 데이터를 게시하고 각 이벤트에서 호출하는 함수를 작성하십시오.

function saveMyData(event) { 
    jQuery.post(
     '/event/save', 
     { 
      title: event.title, 
      start: event.start, 
      end: event.end 
     } 
    ); 
} 

... 
select: function (start, end, allDay) { 
      var title = prompt('Event Title:'); 
      if (title) { 
       calendar.fullCalendar('renderEvent', { 
        title: title, 
        start: start, 
        end: end, 
        }, true); 
       } 

       calendar.fullCalendar('unselect'); 
       saveMyData({'title': title, 'start': start, 'end': end}); 
      }, 

eventDrop: function (event, dayDelta, minuteDelta) { 
       saveMyData(event); 
      }, 

eventResize: function (event, dayDelta, minuteDelta) { 
       saveMyData(event); 
      } 
... 
관련 문제