Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript eventResizeStop和eventDragStop回调不使用fullcalendar发送正确的事件数据_Javascript_Jquery_Fullcalendar - Fatal编程技术网

Javascript eventResizeStop和eventDragStop回调不使用fullcalendar发送正确的事件数据

Javascript eventResizeStop和eventDragStop回调不使用fullcalendar发送正确的事件数据,javascript,jquery,fullcalendar,Javascript,Jquery,Fullcalendar,我正在使用fullcalendar创建一个日历,我的用户可以在其中指示他的权限。我正在将事件信息发送到一个隐藏字段中。每次发生事件(如单击删除事件、拖动事件或调整事件大小)时,我都会更新发送到隐藏字段的数据。我在两次回调中遇到问题: •eventResizeStop •eventDragStop 下面是fullcalendar.js文件中的两个有问题的回调 eventResizeStop: function(event) { var all_events = $('#js-calen

我正在使用fullcalendar创建一个日历,我的用户可以在其中指示他的权限。我正在将事件信息发送到一个隐藏字段中。每次发生事件(如单击删除事件、拖动事件或调整事件大小)时,我都会更新发送到隐藏字段的数据。我在两次回调中遇到问题: •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')收集日历中的所有事件

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

您是否尝试过
eventResize
eventDrop
?您的右侧它可以与这两个回调一起工作!谢谢你知道如何选择全天时段吗?我无法像其他插槽一样计算它:
selectable:true,
my selectable已经设置为true,它对除此之外的所有其他插槽都有效