eventResizeStop和eventDragStop回调不使用fullcalendar

时间:2015-10-09 08:56:48

标签: javascript jquery fullcalendar

我正在使用fullcalendar http://fullcalendar.io/来创建一个日历,我的用户可以在其中指出他的不同意见。我将事件信息发送到隐藏字段。每次发生事件时,例如单击以删除事件,拖动事件或调整事件大小,我都会更新发送到隐藏字段的数据。我遇到了两个回调问题: •eventResizeStop •eventDragStop 以下是我的fullcalendar.js文件中的两个有问题的回调

eventResizeStop: function(event) {
      var all_events = $('#js-calendar').fullCalendar('clientEvents');
      console.log(all_events);
      var array_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,
              };
              console.log(slot)
            array_all_events.push(slot);
           // console.log(array_all_events.length);
        });

      console.log(array_all_events);
       if (array_all_events.length == 0) {
          console.log("eventresize");
          $("#dispo_array").val("");
        }
        else {
          console.log(typeof(array_all_events));
          console.log("eventresize");
          $("#dispo_array").val(JSON.stringify(array_all_events));
        }
    },

    eventDragStop: function( event ) {
      // console.log(event);
      var all_events = $('#js-calendar').fullCalendar('clientEvents');
      console.log(all_events)
      var array_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(array_all_events);
          $("#dispo_array").val("eventdrag");
        }
        else {
          console.log("eventdrag");
          console.log(JSON.stringify(array_all_events))
          $("#dispo_array").val(JSON.stringify(array_all_events));
        }

    },

每当发生这两个事件中的一个时,我通过var all_events = $('#js-calendar').fullCalendar('clientEvents');收集日历中的所有事件,然后以正确的格式将相关数据发送到我的隐藏字段。

问题是这些回调应该在调整大小或拖动事件结束时被触发(因此发送的数据应该是与拖动和调整大小结束时事件状态相关的数据动作)。然而,当我运行我的测试时,我意识到发送到我的隐藏字段的数据是与这些触发器的开头相关的数据:即拖动开始时和调整大小开始时。我该如何解决这个问题?

0 个答案:

没有答案