我開始使用fullcalendar,我有以下問題。我使用codeigniter從php中將數據導入JSON中,使用函數「eventSources」(具有fullcalendar)將多個數據導入JSON格式。現在我的問題是,我需要應用屬性,「eventRender」,但只適用於我得到的數據之一,在這種情況下,我只是希望它適用於'日曆/ get_alert',但我正在適用於所有,一些改變這種方式?我留下了我的代碼。Eventcalen在fullcalendar
<script type="text/javascript">
\t $(document).ready(function(){
\t \t $('#fullcalendar').fullCalendar({
\t \t header: {
\t left: 'title',
\t \t center: 'agendaDay,agendaWeek,month',
\t \t right: 'prev,next today'
\t \t },
\t \t \t editable: true,
\t \t \t firstDay: 1,
\t \t \t selectable: true,
\t \t \t defaultView: 'month',
\t \t \t
\t \t \t eventSources: [
'<?= base_url() ?>calendar/get_alert',
'<?= base_url() ?>calendar/get_Sales',
'<?= base_url() ?>calendar/get_purchases'
],
eventRender: function(event, element, view){
var el = element.html();
element.html("<div style='width:90%;float:left;'>" + el + "</div><div style='text-align:right;' class='close'><span class='glyphicon glyphicon-trash'></span></div>");
element.find('.close').click(function(){
if(!confirm("Delete event?")){
return false;
}else{
var id = event.id;
$.post('<?= base_url() ?>calendar/delete_alert',
{
id:id
},
function(data){
if(data == 1)
alert('Successfully deleted');
else
alert('Error deleted');
});
$("#fullcalendar").fullCalendar('removeEvents', event.id);
}
});
}
\t \t }); \t \t
\t });
</script>
新的代碼,每個URL VIEN格式JSON數據
<script type="text/javascript">
\t $(document).ready(function(){
\t \t $('#fullcalendar').fullCalendar({
\t \t header: {
\t left: 'title',
\t \t center: 'agendaDay,agendaWeek,month',
\t \t right: 'prev,next today'
\t \t },
\t \t \t editable: true,
\t \t \t firstDay: 1,
\t \t \t selectable: true,
\t \t \t defaultView: 'month',
\t \t \t
\t \t \t eventSources: [
{
url: '<?= base_url() ?>calendar/get_alert',
customRender: true
},
{
url: '<?= base_url() ?>calendar/get_Sales',
customRender: false
},
{
url: '<?= base_url() ?>calendar/get_purchases',
customRender: false,
}
],
eventRender: function(event, element, view){
if (event.customRender == true)
{
var el = element.html();
element.html("<div style='width:90%;float:left;'>" + el + "</div><div style='text-align:right;' class='close'><span class='glyphicon glyphicon-trash'></span></div>");
element.find('.close').click(function(){
if(!confirm("Delete event?")){
return false;
}else{
var id = event.id;
$.post('<?= base_url() ?>calendar/delete_alert',
{
id:id
},
function(data){
if(data == 1)
alert('Successfully deleted');
else
alert('Error deleted');
});
$("#fullcalendar").fullCalendar('removeEvents', event.id);
}
});
}
}
\t \t }); \t \t
\t });
</script>
您可以將來自該來源的事件通過自定義屬性進行識別,然後在運行eventRender時檢查該屬性。如果您無法修改返回的服務器端數據,則可以使事件源成爲函數(按照)https://fullcalendar.io/docs/event_data/events_function/並在客戶端獲取之前修改客戶端上的每個事件渲染。 – ADyson
我明白,爲該事件分配一個屬性。但我仍然不知道如何,可以給我一個更清晰的例子。文檔會讓你非常滿意。 – max