0
編輯:製作了一個代碼顯示問題:http://codebins.com/bin/4ldqoy2/3 TL; DR:拖拽一個或多個事件到日曆並單擊保存按鈕後,我想輸出格式正確的JSON,用過的。使用外部拖拽功能從FullCalendar獲取數據
在fullcalendar-2.6.1外部拖動(external-dragging.html中的http://fullcalendar.io/download/)演示中,我一直試圖訪問被拖入日曆的事件的數據。
我試圖使用建議:
$("#save").click(function() {
var eventsFromCalendar = $('#calendar').fullCalendar('clientEvents');
var eventsJson = JSON.stringify(eventsFromCalendar);
然而,eventsJson輸出如下錯誤: 類型錯誤:循環對象值
我發現了一種方法,通過使用下面的代碼,而不是繞過錯誤:
seen = [];
var eventsJson = JSON.stringify(eventsFromCalendar, function (key, val) {
if (val != null && typeof val == "object") {
if (seen.indexOf(val) >= 0) {
return;
}
seen.push(val);
}
return val;
});
有了一個事件,這將輸出如下:
[{
"title":"My Event 3",
"start":"2016-03-15",
"end":null,
"_id":"_fc5",
"className":[],
"allDay":true,
"_allDay":true,
"_start":"2016-03-15",
"_end":null,
"source":{"events":[null]}
}]
選擇兩個事件將輸出如下:
[{
"title": "My Event 3",
"start": "2016-03-23",
"end": "2016-03-25",
"_id": "_fc7",
"className": [],
"allDay": true,
"_allDay": true,
"_start": "2016-03-23",
"_end": "2016-03-25",
"source":
{
"events": [null, {
"title": "My Event 4",
"start": "2016-03-23",
"end": "2016-03-25",
"_id": "_fc13",
"className": [],
"allDay": true,
"_allDay": true,
"_start": "2016-03-23",
"_end": "2016-03-25"
}]
}
}, null]
3個事件做這將輸出如下:
[{
"title": "My Event 2",
"start": "2016-03-27T00:00:00.000Z",
"end": null,
"_id": "_fc2",
"className": [],
"allDay": true,
"_allDay": true,
"_start": "2016-03-27T00:00:00.000Z",
"_end": null,
"source": {
"events": [null,
{
"title": "My Event 4",
"start": "2016-03-28T00:00:00.000Z",
"end": null,
"_id": "_fc7",
"className": [],
"allDay": true,
"_allDay": true,
"_start": "2016-03-28T00:00:00.000Z",
"_end": null
},
{
"title": "My Event 5",
"start": "2016-04-04T00:00:00.000Z",
"end": null,
"_id": "_fc10",
"className": [],
"allDay": true,
"_allDay": true,
"_start": "2016-04-04T00:00:00.000Z",
"_end": null
}]
}
}, null, null]
正如你所看到的,不順心的事時,它構造對象。我不確定源是什麼:{「events」:[null]}應該是,但它可能是錯誤的原因。我也不確定start和_start與end和_end之間有什麼區別。
希望你能幫上忙。 謝謝。
你能準備說明類似的jsfiddle或codebin您的問題演示以下? – Blindsyde
是的,你知道了。 http://codebins.com/bin/4ldqoy2/3 – Fayze
我想你想發送該JSON到一個頁面,你保存它,不是嗎?爲什麼不創建自己的對象,並且在每次drop事件之後只存儲想要的值,而不是僅在單擊'#save'按鈕時才存儲? – Yuri