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 代码只触发一次:我做错了啥?的主要内容,如果未能解决你的问题,请参考以下文章