如何在 fullcalendar 3.1 的 update\delete 对话框中显示保存的日期
How to display saved date on the update\delete dialog in fullcalendar 3.1
我在 default.aspx 中有此代码:
<td class="alignLeft">
<input type="datetime-local" id="eventStart" name="startdaytime" runat="server">
</td>
我想在打开对话框时显示保存的日期。
function updateEvent(event, element) {
// alert(event.description);
if ($(this).data("qtip")) $(this).qtip("destroy");
currentUpdateEvent = event;
$('#updatedialog').dialog('open');
$("#eventName").val(event.title);
$("#eventDesc").val(event.description);
$("#eventId").val(event.id);
$("#eventStart").val(event.start);
//moment($("#eventStart").val(), "DD/MM/YYYY HH:mm").format("YYYY-MM-DD hh:mm");
//new Date($("#eventStart").text(event.start));
$("#colorPicker").val(event.color);
$("#EditEventNote").val(event.note);
if (event.end === null) {
$("#eventEnd").text("");
}
else {
$("#eventEnd").val(event.end);
}
return false;
}
我尝试了很多方法,但没有任何效果。
更新:调用 'UpdateEvent':
$('#updatedialog').dialog({
autoOpen: false,
width: 680,
buttons: {
"update": function () {
var eventToUpdate = {
id: currentUpdateEvent.id,
title: $("#eventName").val(),
description: $("#eventDesc").val(),
color: $("#colorPicker").val(),
start: new Date($("#eventStart").val()),
end: new Date($("#eventEnd").val()),
note: $("#EditEventNote").val(),
};
PageMethods.UpdateEvent(eventToUpdate, updateSuccess);
$(this).dialog("close");
$('#calendar').fullCalendar('refetchEvents');
},
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
更新 n.2
currentUpdateEvent.title = $("#eventName").val();
currentUpdateEvent.description = $("#eventDesc").val();
currentUpdateEvent.color = $("#colorPicker").val();
currentUpdateEvent.note = $("#EditEventNote").val();
currentUpdateEvent.start = new Date($("#eventStart").val());
currentUpdateEvent.end = new Date($("#eventEnd").val());
$('#calendar').fullCalendar('updateEvent',currentUpdateEvent);
由于事件日期是作为 fullCalendar 的 momentJS 对象传送的,您应该能够使用 momentJS 的 format() function.
将日期格式化为所需的格式
根据 documentation for a datetime-local field,所需格式的示例是 2017-06-01T08:30
,因此这意味着您应该能够编写
$("#eventStart").val(event.start.format("YYYY-MM-DD[T]HH:mm:ss"));
开始字段,结束字段类似。
我在 default.aspx 中有此代码:
<td class="alignLeft">
<input type="datetime-local" id="eventStart" name="startdaytime" runat="server">
</td>
我想在打开对话框时显示保存的日期。
function updateEvent(event, element) {
// alert(event.description);
if ($(this).data("qtip")) $(this).qtip("destroy");
currentUpdateEvent = event;
$('#updatedialog').dialog('open');
$("#eventName").val(event.title);
$("#eventDesc").val(event.description);
$("#eventId").val(event.id);
$("#eventStart").val(event.start);
//moment($("#eventStart").val(), "DD/MM/YYYY HH:mm").format("YYYY-MM-DD hh:mm");
//new Date($("#eventStart").text(event.start));
$("#colorPicker").val(event.color);
$("#EditEventNote").val(event.note);
if (event.end === null) {
$("#eventEnd").text("");
}
else {
$("#eventEnd").val(event.end);
}
return false;
}
我尝试了很多方法,但没有任何效果。
更新:调用 'UpdateEvent':
$('#updatedialog').dialog({
autoOpen: false,
width: 680,
buttons: {
"update": function () {
var eventToUpdate = {
id: currentUpdateEvent.id,
title: $("#eventName").val(),
description: $("#eventDesc").val(),
color: $("#colorPicker").val(),
start: new Date($("#eventStart").val()),
end: new Date($("#eventEnd").val()),
note: $("#EditEventNote").val(),
};
PageMethods.UpdateEvent(eventToUpdate, updateSuccess);
$(this).dialog("close");
$('#calendar').fullCalendar('refetchEvents');
},
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
更新 n.2
currentUpdateEvent.title = $("#eventName").val();
currentUpdateEvent.description = $("#eventDesc").val();
currentUpdateEvent.color = $("#colorPicker").val();
currentUpdateEvent.note = $("#EditEventNote").val();
currentUpdateEvent.start = new Date($("#eventStart").val());
currentUpdateEvent.end = new Date($("#eventEnd").val());
$('#calendar').fullCalendar('updateEvent',currentUpdateEvent);
由于事件日期是作为 fullCalendar 的 momentJS 对象传送的,您应该能够使用 momentJS 的 format() function.
将日期格式化为所需的格式根据 documentation for a datetime-local field,所需格式的示例是 2017-06-01T08:30
,因此这意味着您应该能够编写
$("#eventStart").val(event.start.format("YYYY-MM-DD[T]HH:mm:ss"));
开始字段,结束字段类似。