私はfullcalendarで作業を開始しています。次の問題があります。 fullcalendarを持つ "eventSources"という関数を使用して、複数のデータをJSON形式に変換するために、codeigniterを使用してPHPからJSONにデータを取り込みます。今私の問題は、プロパティ "eventRender"を適用する必要があるが、私が取得するデータのうちの1つにしか適用できないということです。この場合、Calendar/get_alertに適用したいだけですが、それを変える方法は?私はコードを残す。fullcalendarのEventRender
<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>
新しいコード、それを行うには、フォーマットJSONで各URLヴィアンのデータ
<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を実行するときにそのプロパティを確認できます。返されるサーバー側のデータを変更できない場合は、イベントソースを(per)https://fullcalendar.io/docs/event_data/events_function/の関数にして、クライアントの各イベントを取得する前に変更することができますレンダリングされる。 – ADyson
私はそのイベントにプロパティを割り当てることを理解します。しかし、私はまだ、どのように、私に明確な例を与えることができるか分からない。ドキュメンテーションはあなたを大いに喜ばせるでしょう。 – max