Php 如何在fullcalendar中添加事件?
我不是PHP怪胎,但我能理解 我想使用fullcalendar() 我已经阅读了完整的文档。 我已经通过tag fullcalendar阅读了43页 但是找不到我的答案 很简单,, 当我拖动到日期中时,如何添加事件 脚本从JSON文件读取,但如何写入JSON fullcalendar中的JS文件:Php 如何在fullcalendar中添加事件?,php,json,fullcalendar,Php,Json,Fullcalendar,我不是PHP怪胎,但我能理解 我想使用fullcalendar() 我已经阅读了完整的文档。 我已经通过tag fullcalendar阅读了43页 但是找不到我的答案 很简单,, 当我拖动到日期中时,如何添加事件 脚本从JSON文件读取,但如何写入JSON fullcalendar中的JS文件: $(function() { /* initialize the external events -------------------------------------------
$(function()
{
/* initialize the external events
-----------------------------------------------------------------*/
$('#external-events ul li').each(function()
{
// create an Event Object (http://arshaw.com/fullcalendar/docs/event_data/Event_Object/)
// it doesn't need to have a start or end
var eventObject = {
title: $.trim($(this).text()) // use the element's text as the event title
};
// store the Event Object in the DOM element so we can get to it later
$(this).data('eventObject', eventObject);
// make the event draggable using jQuery UI
$(this).draggable(
{
zIndex: 999,
revert: true, // will cause the event to go back to its
revertDuration: 0, // original position after the drag,
start: function() { if (typeof mainYScroller != 'undefined') mainYScroller.disable(); },
stop: function() { if (typeof mainYScroller != 'undefined') mainYScroller.enable(); }
});
});
/* initialize the calendar
-----------------------------------------------------------------*/
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: true,
droppable: true,
events: rootPath + "/admin/ajax/calendarEvents.json",
drop: function(date, allDay)
{
// retrieve the dropped element's stored Event Object
var originalEventObject = $(this).data('eventObject');
// we need to copy it, so that multiple events don't have a reference to the same object
var copiedEventObject = $.extend({}, originalEventObject);
// assign it the date that was reported
copiedEventObject.start = date;
copiedEventObject.allDay = allDay;
// render the event on the calendar
// the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)
$('#calendar').fullCalendar('renderEvent', copiedEventObject, true);
// is the "remove after drop" checkbox checked?
if ($('#drop-remove').is(':checked')) {
// if so, remove the element from the "Draggable Events" list
$(this).remove();
}
}
});
});
这是html
<div class="widget widget-inverse">
<!-- Widget heading -->
<div class="widget-head">
<h3 class="heading">Draggable Events</h3>
</div>
<!-- // Widget heading END -->
<div class="widget-body">
<!-- Events list -->
<ul class="unstyled">
<li class="glyphicons move"><i></i> My Event 1</li>
<li class="glyphicons move"><i></i> My Event 2</li>
<li class="glyphicons move"><i></i> My Event 3</li>
<li class="glyphicons move"><i></i> My Event 4</li>
<li class="glyphicons move"><i></i> My Event 5</li>
</ul>
<!-- Events list END -->
<label for="drop-remove" class="checkbox">
<input type="checkbox" class="checkbox" id="drop-remove" />
remove after drop
</label>
</div>
</div>
拖拉事件
我的活动1
我的活动2
我的活动3
我的活动4
- 我的活动5
落下后取出
非常感谢请查看本页:
查找源代码,您将看到drop函数
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: true,
droppable: true, // this allows things to be dropped onto the calendar !!!
**drop**: function(date, allDay) { // this function is called when something is dropped
// retrieve the dropped element's stored Event Object
var originalEventObject = $(this).data('eventObject');
// we need to copy it, so that multiple events don't have a reference to the same object
var copiedEventObject = $.extend({}, originalEventObject);
// assign it the date that was reported
copiedEventObject.start = date;
copiedEventObject.allDay = allDay;
// render the event on the calendar
// the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)
$('#calendar').fullCalendar('renderEvent', copiedEventObject, true);
// is the "remove after drop" checkbox checked?
if ($('#drop-remove').is(':checked')) {
// if so, remove the element from the "Draggable Events" list
$(this).remove();
}
}
});
函数drop就在这里,基本上是在drop函数中添加一个“alert()”。如果它正在工作,请让我知道:)那么您想要的是在删除事件后将其保存到json文件?如果是这种情况,您可以使用而不是drop回调,并在那里对您的服务器进行ajax调用。如果您需要进一步的解释,请告诉我。@Aljie,是的,它放下它,但不要保存it@HenriqueC. 是的,这就是我想要的。但是我已经读过了,但是做不到,解释不是为了“初学者”,如果你想帮忙,那就太好了。非常感谢。如果是这样的话,我已经用你的日历做了你想要的。您是否尝试过drop函数中的“alert('im drop');”?您好,drop从一开始就执行此操作,我想将其保存到Json文件中。@DaveTitan,我不认为您可以将其保存到文件中,但您肯定可以使用$.ajax将数据发送回后端并保存在那里。是的,绝对可以,但问题是如何。哪些参数(args)您需要保存吗?=>ID(自动I)、Title和Start仅此而已