Fullcalendar无法删除日历中的最后一个事件



我使用fullcalendar http://fullcalendar.io/用户可以在日历中创建和删除事件。事件的相关信息以JSON形式在隐藏字段中发送。这工作时,用户正在创建事件,但我没有设法使它正确地更新隐藏字段,当用户删除事件。这是我的$('#calendar').fullCalendar的eventclick回调

eventClick: function(event, element) {
      if(confirm('Voulez-vous supprimer cette dispo?')) {
        $('#calendar').fullCalendar('removeEvents', event._id);
        var array_all_events = [];
        var all_events = $('#calendar').fullCalendar('clientEvents');
        // console.log(all_events);
        $.each(all_events, function(index, value) {
          // console.log(value.start["_d"]);
          // console.log(index);
           var day         = moment(value.start["_d"]).format('dddd');
           var start_time  = moment(value.start["_d"]).format("HH:mm");
           var end_time    = moment(value.end["_d"]).format("HH:mm");
             // var id          = value.unique_id["_i"];
             var slot        = {
                day: day,
                start_time: start_time,
                end_time: end_time,
              };
            array_all_events.push(slot);
            console.log(array_all_events.length);
            if (array_all_events.length == 0) {
              $("#dispo_array").val("");
            }
            else {
              $("#dispo_array").val(JSON.stringify(array_all_events));
            }
        });
      }
    },

当array_all_events中有多个哈希时,脚本实际工作,但当array_all_events为空时,我无法让它将#dispo_array更新为空字符串。

我通过将if和else语句从每个循环中取出来让它工作。

  eventClick: function(event, element) {
      if(confirm('Supprimer cette disponibilité?')) {
        $('#calendar').fullCalendar('removeEvents', event._id);
        var array_all_events = [];
        var all_events = $('#calendar').fullCalendar('clientEvents');
        // console.log(all_events);
        $.each(all_events, function(index, value) {
          // console.log(value.start["_d"]);
          // console.log(index);
           var day         = moment(value.start["_d"]).format('dddd');
           var start_time  = moment(value.start["_d"]).format("HH:mm");
           var end_time    = moment(value.end["_d"]).format("HH:mm");
             // var id          = value.unique_id["_i"];
             var slot        = {
                day: day,
                start_time: start_time,
                end_time: end_time,
              };
            array_all_events.push(slot);
            // console.log(array_all_events.length);
        });
       if (array_all_events.length == 0) {
          console.log("hello");
          $("#dispo_array").val("");
        }
        else {
          console.log(typeof(array_all_events));
          console.log(array_all_events.length);
          $("#dispo_array").val(JSON.stringify(array_all_events));
        }
      }
    },

相关内容

  • 没有找到相关文章

最新更新