我正在使用一个jQuery对话框,其内容大小可变。我使用create方法动态填充内容。当对话框呈现时,对话框的左上角位于屏幕的中央,但由于对话框非常高,因此底部离页面很远。无论对话框的大小如何,我都希望它完全居中。这是jQuery:
var dialogOptions = {
title: "",
modal: true,
width: 'auto',
autoOpen: false,
create: function () {
$(this).load("/Management/RenderPartialCreateSubject");
}
};
$("#dialog-message").dialog(dialogOptions);
$("#dialog-message").dialog("open");
我唯一能想到的是在定位对话框之前没有加载内容。有没有办法让它预先加载内容?
我也尝试将局部视图直接加载到div中,然后像这样打开对话框:
$.get("/Management/RenderPartialCreateSubject", null, function (data) {
$("#dialog-message").html(data);
});
//open add new subject dialog
var dialogOptions = {
title: "",
modal: true,
width: 'auto',
autoOpen: false
};
$("#dialog-message").dialog(dialogOptions);
$("#dialog-message").dialog("open");
第一次渲染错误,但第二次渲染(内容加载后)。
答案 0 :(得分:0)
我等着看是否有人有更好的答案,但我能够通过用$ .ajax替换$ .get并设置async: false
来解决它,这允许在之前加载内容显示对话框。