Полный календарь событийClick не обновляет и не суммирует клики - PullRequest
0 голосов
/ 05 июня 2018

Всякий раз, когда я пытаюсь изменить заголовок, он работает нормально в первый раз, но если я пытаюсь изменить заголовок другого события без обновления, изменяются как ранее измененный заголовок события, так и текущий заголовок события.

Ниже вы можете найти размещенный пользовательский файл JavaScript полного календаря.Но когда я изменяю название события и обновляю его вручную, он работает нормально.

function  init_calendar() {

            if( typeof ($.fn.fullCalendar) === 'undefined'){ return; }


            var date = new Date(),
                d = date.getDate(),
                m = date.getMonth(),
                y = date.getFullYear(),
                started,
                categoryClass;


            var calendar = $('#calendar').fullCalendar({
              header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,agendaWeek,agendaDay,listMonth'
              },
              selectable: true,
              selectHelper: true,
              eventLimit: true,


              select: function(start, end, allDay) 
                    {
                        $('#fc_create').click();

                        started = moment(start).format('YYYY/MM/DD, h:mm:ss A');
                        ended = moment(end).format('YYYY/MM/DD, h:mm:ss A');

                        $(".antosubmit").on("click", function() {
                          var title = $("#title").val();


                          categoryClass = $("#event_type").val();

                          if (title) {
                            var start = moment(start).format('YYYY/MM/DD HH:mm:ss');
                            var end = moment(end).format('YYYY/MM/DD HH:mm:ss')
                            $.ajax({
                                   url:"add.php",
                                   type:"POST",
                                   data:{title:title, start:started, end:ended},
                                   success:function()
                                   {
                                    calendar.fullCalendar('refetchEvents');
                                    alert("Added Successfully");
                                   }
                                  })
                          }

                          $('#title').val('');
                          calendar.fullCalendar('unselect');
                          $('.antoclose').click();
                          return false;
                        });
                    },

                    editable:true,
                    eventDrop:function(event)
                    {
                     var start = moment(event.start).format('YYYY/MM/DD HH:mm:ss');
                     var end = moment(event.end).format('YYYY/MM/DD HH:mm:ss');
                     var title = event.title;
                     var id = event.id;
                     $.ajax({
                      url:"event_change.php",
                      type:"POST",
                      data:{title:title, start:start, end:end, id:id},
                      success:function()
                      {
                       calendar.fullCalendar('refetchEvents');
                       alert("Event Updated");
                      }
                     });
                    },
                    editable:true,
                    eventResize:function(event)
                    {
                     var start = moment(event.start).format('YYYY/MM/DD HH:mm:ss');
                     var end = moment(event.end).format('YYYY/MM/DD HH:mm:ss');
                     var title = event.title;
                     var id = event.id;
                     $.ajax({
                      url:"event_change.php",
                      type:"POST",
                      data:{title:title, start:start, end:end, id:id},
                      success:function(){
                       calendar.fullCalendar('refetchEvents');
                       alert('Event changed');
                      }
                     })
                    },


              eventClick: function(calEvent, jsEvent, view) {
                $('#fc_edit').click();

                var id = calEvent.id;

                categoryClass = $("#event_type").val();

                $(".antoremove2").on("click", function(){

                    categoryClass = $("#event_type").val();

                    $.ajax({
                           url:"remove.php",
                           type:"POST",
                           data:{id:id},

                           success:function()
                           {
                            calendar.fullCalendar('refetchEvents');
                            alert("Event Removed");

                           }
                          })

                });


                $(".antosubmit2").on("click", function() {
                  calEvent.title = $("#title2").val();
                   var id = calEvent.id;
                    var title = calEvent.title;
                   var start = moment(calEvent.start).format('YYYY/MM/DD HH:mm:ss');
                    var end = moment(calEvent.end).format('YYYY/MM/DD HH:mm:ss');

                     console.log(title);
                     console.log(id);
                     console.log(start);
                     console.log(end);

                     $.ajax({
                      url:"event_change.php",
                      type:"POST",
                      data:{title:title,start:start, end:end, id:id},
                      success:function(){
                       calendar.fullCalendar('refetchEvents');
                       alert('Event changed');
                      }
                     });


                  calendar.fullCalendar('updateEvent', calEvent);
                  $('.antoclose2').click();


                });

                calendar.fullCalendar('unselect');
              },
              editable: true,
              events:'view.php',
            });

        };
   $(document).ready(function() {


    init_calendar();
}); 

1 Ответ

0 голосов
/ 03 января 2019

Вы можете использовать метод .one('event') вместо .on('event').Затем вы можете управлять своими событиями одно за другим, не изменяя ранее выбранное событие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...