好吧,我真的想在这里添加一些东西来帮助其他人。在尝试所有解决方法后,我学到了一些非常重要的东西。如果将一个完整的DOM加载到对话窗口中,则会创建另一个实例,并且您将花费大量时间。在我的情况下,我在MVC中加载了一个局部视图,并确定它显示了一个完整的DOM。我见过很多关于尝试销毁,删除甚至手动删除带有循环的重复文章的文章。这些不是真正的答案,而是另一个问题的创可贴。另外,当在对话框中加载数据时,可能会在执行ajax调用时注意,您不是在该过程中重复加载脚本。如果你需要调用$('。selector')。dialog()。dialog(),那么第一个实例就有冲突。
我的解决方案在没有其他人的情况下工作。 1)我修改了我的部分视图,将a放在只包含我需要的内部html。 2)获取数据返回整个DOM,所以我使用find()来限制对话框中返回的内容。 3)当关闭对话框时,使用对话框('close')方法,即使根据文档也是如此。
如果您有刷新问题,请小心构建对话框,我选择避开doc ready构造,因为它有时会导致冲突。使用时可以构造对话框。
请注意什么数据真的会被返回奇怪的行为会导致。
现在它的功能如下,我真的希望这将节省一些小时无尽的一切为人:)它为我工作。
var editOptDialog = YourOptions
Open:
$("#dialog-edit").dialog(editOptDialog);
$("#dialog-edit").dialog('open');
$.get($(element).attr('url'), function (data) {
$("#dialog-edit").dialog().html($(data).find('#content-modal'));
});
Close:
$("#dialog-edit").dialog().dialog("instance").close();
感谢您的信息。我会尝试。 –
不客气。再次,您可能需要调整选择器以适合您的代码。但校长仍然是一样的。 –