2014-03-07 91 views
1

我在保存fullcalendar結束時間方面遇到了一些問題,並且可以將其拖動到日曆中的一天以上。我有它設置爲通過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 
        } 
       ); 
      } 
     }); 

任何幫助將不勝感激!由於

(我還可以提供一個網址有沒有什麼幫助任何人確定本次發行)

回答

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); 
      } 
...