Fullcalendar dayClick 代码只触发一次:我做错了啥?

Posted

技术标签:

【中文标题】Fullcalendar dayClick 代码只触发一次:我做错了啥?【英文标题】:Fullcalendar dayClick code fires only once: what am I doing wrong?Fullcalendar dayClick 代码只触发一次:我做错了什么? 【发布时间】:2011-03-25 18:29:42 【问题描述】:

我正在使用 jQuery 的 Dialog UI 小部件将事件插入到 mysql 表中,但我每天只能插入一次单击。要插入另一个事件,我必须刷新页面:/

这里是代码`dayClick: function(date, allDay, jsEvent, view)

      if (view.name=='month') 
 $('#calendar').fullCalendar( 'changeView', 'agendaWeek' );


else 

      // change the day's background color just for fun
      $(this).css('background-color', 'red');
$("#dialog-form #pdal").val($.fullCalendar.formatDate( date, 'yyyy-MM-dd' ));
$("#dialog-form #pdalle").val($.fullCalendar.formatDate( date, 'HH:mm' )).attr("value",$.fullCalendar.formatDate( date, 'HH:mm' ));
$("#dialog-form #palle option[value='"+$.fullCalendar.formatDate( date, 'HH:mm' )+"']").attr("selected","selected");
$('#dialog-form #risorsa').val("0");
$('#dialog-form #CheckboxGroup1_0').attr("checked","checked").val($.fullCalendar.formatDate( date, 'yyyy-MM-dd' ));
$('#dialog-form #CheckboxGroup1_0').after($.fullCalendar.formatDate( date, 'yyyy-MM-dd' ));
$('#dialog-form').dialog('open');


//else

  `

我知道这有点粗鲁,最好关闭在此代码块中成功插入的对话框,但它现在或多或少都有效。

实际插入是通过对话框按钮调用的。 代码如下:

`$("#dialog-form").dialog( 自动打开:假, 身高:900, 宽度:860, 模态:真, beforeclose: $("#dialog-form form").clearForm(), 纽扣: 'Inserisci lezione': function()

 allFields.removeClass('ui-state-error');

 $.post("smfn_set_event.php",  idaula:$("#dialog-form #idaula").val(), dal:$("#dialog-form  #pdal").val(), dalle:$("#dialog-form  #pdalle").val(), alle:$("#dialog-form #palle").val(), idutente:$("#dialog-form  #idutente").val(), motivo:$("#dialog-form  #motivo").val(), nota:$("#dialog-form  #nota").val() ,

函数(数据插入) alert("返回的信息:" + datainsert); ); $('#calendar').fullCalendar('refetchEvents'); $('#calendar').fullCalendar('render'); $(this).dialog('destroy'); $(this).dialog('close');

,`

clearForm 和destroy 位试图不使用最后输入的值填充表单文件。不幸的是,现在对话框不再打开了。

这段代码有什么明显的错误吗?

谢谢。

【问题讨论】:

【参考方案1】:
$(this).dialog('destroy') 
完全删除对话框功能。这将使元素返回到它的预初始化状态。 (http://jqueryui.com/demos/dialog/)

所以,当你尝试

$('#dialog-form').dialog('open'); 

销毁后 - 没有任何反应。您应该只在插入后关闭对话框。

【讨论】:

以上是关于Fullcalendar dayClick 代码只触发一次:我做错了啥?的主要内容,如果未能解决你的问题,请参考以下文章

FullCalendar dayClick功能

FullCalendar 插件 dayClick 不工作

fullcalendar V4 dayClick没有开火

FullCalendar DayClick 单击了两次

使用 ng-fullcalendar dayClick 时的数据绑定

如何防止对dayClick的重复?