我正在尝试在ASP.Net项目中使用简单的jQuery UI对话框。我在对话框<div>
中有一些按钮,但他们没有回发。仔细检查后,无论出于何种原因,在<div>
面板中移动它都会在DOM中移动它,使其成为</body>
之前的最后一个标记。这一切都很好,花花公子除了它还将它移到需要的<form>
标签之外,这样按钮就可以进行回发。
此行为的目的是什么以及如何覆盖它?
这里有一个例子:http://jsbin.com/olumu4/
看着Firebug虽然我得到了这个: alt text http://img80.imageshack.us/img80/9049/dialog.png
答案 0 :(得分:3)
这是jQuery / ASP.NET的常见问题。
在您指定模态之后
$(".modal-window").dialog({
modal: true
});
这样做
$(".modal-window").parent().appendTo($("form:first"));
如果页面上有多个模态,我发现它不能按预期工作,所以在这种情况下,当您在模态上调用open方法时,请执行以下操作:
$('.modal-window').dialog('open').parent().appendTo($('form:first'));
如果您想让它自动打开。您可以在分配模型后立即附加它。
$(".modal-window").dialog({
modal: true
}).parent().appendTo($('form:first'));
希望这有帮助,
马尔科
答案 1 :(得分:0)
之前我遇到过这个问题,一个选项是在$(form).submit上设置一个偶数,将对话框中的内容附加到表单。