2011-03-28 56 views
0

更新數據我有MVC3頁面中的jQuery fullcalendar插件。在Ajax風格的

  1. 可編輯fullcalendar電網有幾個事件,
  2. 隱藏的提交表單。
  3. hijaxed提交回調函數
  4. 和ActionMethod,假設返回一些JsonResult。

目標是 - 當用戶拖拽n將某事件從一天拖放到另一天時,表單將其數據提交給服務器,服務器檢查更改數據的有效性並返回結果。

所以基本上fullcalendar提供eventDrop事件,我可以使用這樣的:

eventDrop: function(event,dayDelta,minuteDelta,allDay,revertFunc) { 
     $("form[action$='UpdateCalendar']").submit(); 
    } 

,並用這樣的片段,我可以改變提交行爲:

$(document).ready(function() 
    { 
    $("form[action$='UpdateCalendar']").submit(function(){ 
    ... 
     Here the data should be serialized and sent to the server. 
    ... 
    }); 
    return false; // to override default form submitting behavior 
    } 

的問題是。如何獲取並序列化fullcalendar網格上已經渲染和顯示的事件數組?

回答

1

您可以使用它來從日曆得到的事件:

var events = $(calendarSelector).fullCalendar('clientEvents'); 

以上將返回從日曆中所有活動。您也可以提供過濾功能作爲第二個參數。請參閱clientEvents的文檔Fullcalendar documentation

將此事件集合序列化爲json。我會推薦你​​可以在這裏找到的JSON2庫:http://json.org/js.html