Reputation: 295
I'm trying to render events on Full calendar js by building a JSON object and pass it to the Event handler on Full Calendar, code goes like this:
$('#dailyPaymentsModal').on('show.bs.modal', function(event) {
var button = $(event.relatedTarget) // Button that triggered the modal
var matrixId = button.data('id');
var matrixprice = button.data('price');
var qualifiedDate = button.data('qdate');
var qDate = new Date(qualifiedDate);
var tomorrow = new Date(qualifiedDate);
var endDate = new Date(qualifiedDate);
endDate.setDate(endDate.getDate() + 14);
tomorrow.setDate(tomorrow.getDate() + 1);
var nextDay = qDate;
var myObject = new Object();
var myarray = [];
var dailybonus = matrixprice * 0.03;
while (nextDay <= endDate) {
myObject.title = 'Daily Bonus';
myObject.start = nextday;
myObject.description = dailybonus;
myarray.push(myObject);
nextDay.setDate(nextDay.getDate() + 1);
}
var myString = JSON.stringify(myarray);
alert(myString);
var calendar = $('#fcalendar').fullCalendar({
events: myString,
displayEventTime: false,
eventRender: function(event, element) {
element.find('.fc-title').text(event.title);
}
});
})
I get a JSON array in myString, but when passed to events on Full calendar, it does not render any event.
Upvotes: 1
Views: 1459
Reputation: 4663
You don't need JSON.stringify(myarray);
just remove that line and use myarray
in events.
// var myString = JSON.stringify(myarray);
// alert(myString);
var calendar = $('#fcalendar').fullCalendar({
events: myarray,
displayEventTime: false,
eventRender: function(event, element) {
element.find('.fc-title').text(event.title);
}
});
Note Fullcalendar has a very good demo that you can simply use them to build yours. here is a demo of event data that you can use. https://codepen.io/nasser-ali-karimi/pen/YzzdxWg?editors=0010
Upvotes: 4