我刚刚升级了我的 jQuery/jQuery UI到最新版本(jQuery 1.9.0、jQuery UI 1.10.0),它似乎破坏了我的一些 jQuery UI 对话框功能。
为了在 ASP.NET 中的 jQuery UI 对话框中进行回发,有一个非常常见的解决方法,您必须将 DIV 重新附加到主 FORM,因为 jQuery 会在 FORM 外部重新构造 DIV ,像这样:
$("#newInsurance").dialog({
autoOpen: false,
modal: true,
open: function (type, data) {
$(this).parent().appendTo($("form:first"));
}
});
不幸的是,由于升级现在将对话框置于背景的灰色/禁用覆盖层后面。所以弹出窗口中的表单无法使用并且全部呈灰色。我已经尝试了几件事,但似乎无法让它发挥作用 - 似乎这种旧的解决方法不再有效。有谁知道可行的新解决方法?或者我错过了什么?在我升级之前,这一直很有效。
以下是有关曾经有效的解决方法的更多信息:
我使用 Internet Explorer 9 和 Google Chrome 24.x 对此进行了测试
According to the jQuery UI website ,Dialog API 在 jQuery UI 1.10.0 中已完全重新设计:
最佳答案
好的,这似乎是 jQuery UI v1.10 的修复:
$("#newInsurance").dialog({
autoOpen: false,
appendTo: "form",
modal: true
}).parent().css('z-index', '1005');
在 jQuery UI v1.10 中,他们添加了一个 appendTo 属性,它的作用似乎与调用 .parent().appendTo($("form"))
。解决这个问题的技巧是 z-index。
关于ASP.NET 中具有回发功能的 jQuery 模式对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14636907/