覆盖jQuery-UI对话框放置标记的方法?

时间:2010-07-07 23:38:29

标签: jquery-ui dom dialog

我正在尝试在ASP.Net项目中使用简单的jQuery UI对话框。我在对话框<div>中有一些按钮,但他们没有回发。仔细检查后,无论出于何种原因,在<div>面板中移动它都会在DOM中移动它,使其成为</body>之前的最后一个标记。这一切都很好,花花公子除了它还将它移到需要的<form>标签之外,这样按钮就可以进行回发。

此行为的目的是什么以及如何覆盖它?

这里有一个例子:http://jsbin.com/olumu4/

看着Firebug虽然我得到了这个: alt text http://img80.imageshack.us/img80/9049/dialog.png

2 个答案:

答案 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上设置一个偶数,将对话框中的内容附加到表单。