0

我在使用 jquery 对话框时遇到问题。我正在单击一个按钮以打开一个模式对话框并将 ajax 内容加载到其中。内容的大小可能会有所不同,我希望对话框始终位于中间,无论它是 300 像素还是 1200 像素宽。

我像这样启动对话框:

$(".dialog-form").dialog({
  autoOpen: false,
  modal: true,
  open: function() {
    $("#background-dim").fadeIn();
  },
  position: {my:"center top",at:"center top+40"},
  width: "auto"
});

这是我单击以打开它并加载数据的按钮:

$(".dialog-opener").click(function() {
  $("#" + temp_divid).load(temp_form).dialog("open");
  // I tried putting resize function here but does not work
  alert ("test");
  return false;
});

现在,我尝试在对话框打开器功能中打开对话框后立即更改对话框大小,但它不起作用。我发出警报以查看发生了什么,即使我已经加载了数据并打开了对话框,它还没有显示加载的对话框,所以它不知道正确的宽度。我做错了什么,有什么想法吗?谢谢你的帮助 :)

4

1 回答 1

0

在这个问题的帮助下解决了这个问题:jQuery - Dialog auto-resize on dynamic content and maintain center position

每当 ajax 完成加载时都会调用 ajaxStop,所以我在调用 ajaxStop 时调整对话框的大小并且它工作得很好!

$(document).ajaxStop(function(){
  $(".dialog").dialog({height:"auto",width:"auto"});
});
于 2013-09-07T21:28:22.133 回答