[英]jQueryUI cannot open modal dialog box
我正在编写一个对 python 后端的 ajax 调用,它为模式对话框生成 HTML,然后弹出所述对话框。 但是,最近我在这里遇到了问题。 我的 JS 前端代码(到目前为止)如下。
var deletegroup = function(group){
$.ajax({
url: "ajax.py/get_orphaned_networks",
data: {group: group},
success: function(result){
if (result == 0){
alert("Group does not contain networks, no networks will be deleted.");
} else {
$("#dgf_modal").html(result);
$("#dgf_modal").css('visibility', 'visible');
$("#dgf_modal").dialog({
modal: true,
closeOnEscape: false,
resizable: false,
draggable: false,
title: "Deleting Group",
width: 500,
height: 500,
buttons: {
"Yes" : function(){
alert("Well, okay then.");
$("#dgf_modal").dialog("close");
},
"Cancel" : function(){
$("#dgf_modal").dialog("close");
}
},
close: function(){
$("#dgf_modal").html("");
$("#dgf_modal").css('visibility', 'hidden');
$(this).dialog("destroy");
}
});
$("#dgf_modal").dialog("open");
}
},
error: function(){
setlongmessage("An error has occurred. Contact your system administrator.");
$("#dgf_status").html("<img src='images/error.png' alt='An error occured.'/>");
setTimeout(function(){$("#dgf_status").html("");}, 3000);
}
});
}
我在我的应用程序的另一部分有类似的代码,它工作得很好。 但是,有了这个,我收到以下错误:
错误:无法在初始化之前调用对话框上的方法; 试图调用方法“打开”
抛出新错误(味精);
jquery.js(第 477 行)
编辑:如果我在 div 上调用 dialog("open") 或 dialog("close") ,我会收到相同的错误消息。 相同的堆栈跟踪,唯一改变的错误是它试图调用方法“close”而不是“open”。
我正在使用最新版本的 jQueryUI 和 jQuery,因为我认为更新它们可能会解决这个问题。 没有骰子。 也许我在这个函数的某个地方搞砸了,但我确实知道 ajax 调用正在返回它应该返回的正确 HTML。
其他所有东西都检查出来了 - 我的 div 的 ID 为 dgf_modal,而且工作正常。 不完全确定是什么搞砸了我现在虽然。
没有理由调用 open,在创建对话框时使用autoOpen选项。
嗯,我已经想通了。 毕竟这是我的 AJAX 调用,返回了两个 ID 为“dgf_modal”的 div。 当我自动生成表格单元格而不是在我实际关闭表格时,不小心将它扔到我的 for 循环中。
简而言之,我是个白痴。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.