我正在编写一个日历时间线视图,当用户将作业拖动到新的时间时,会出现一个对话框,然后 AJAX 重新加载 php 内容,最后重新初始化可拖动元素,以便可以再次拖动作业。
我的问题可能是由于没有低估调用函数的所有不同方式,所以
我的问题是:下面的这个解决方案可以减少到更少的调用吗?
我想确保避免“双重”调用以减少代码并正确使用“层次结构”/内置属性。
Drag{
---- Dialog{
-------- success{ AJAX{ reload-function{ initialize } }//结束 AJAX ---- } //结束成功
------- cancel { AJAX{ reload-function{ initialize } }//结束 AJAX ---- } //结束取消
--- }
}
以下是当前拼凑的解决方案,它正在工作:
$("#dialog-mjob").dialog({
autoOpen: true,
resizable: true,
modal: true,
buttons: {
"Modify": function () {
$(this).dialog("close");
$.ajax({
type: "POST",
url: "get-event.php",
data: $('#mod-event-form').serialize(),
success: function (data) { }
});
},
Cancel: function () {
$(this).dialog("close");
$.ajax({
type: "POST",
url: "get-event.php",
data: $('#mod-event-form').serialize(),
success: function (data) {
$('#cal-inner').remove();
$('#cal').load('timeline-inner.php', function () {
$(".draggable").draggable({
//revert: true,
revert: "invalid",
//helper: "clone",
cursor: "hand",
grid: [44, 0],
axis: "x",
handle: "span",
cursor: "move",
stop: function (ev, ui) {
changePrompt($(this).attr('id'));
}
});
});
}
}); // end ajax
} // end cancel button
} // end buttons
}); // end dialog