我有一个jqueryUI对话框,它向另一个页面发出请求并在对话框中加载内容。
jQuery("#someDialog").dialog({
autoOpen: true,
draggable: false,
resizable: false,
modal: true,
open: function() {
jQuery(this).load('myurl?type=something');
}
});
但是,此代码有时只打开对话框,并且对话框中不显示加载的内容。我怀疑这是因为open事件中的异步代码。
有没有办法解决这个问题?
答案 0 :(得分:0)
我通常将内容加载到变量div中,然后在打开时将其作为对话框的文本放置。
$('#popupWindow').load('whatever?type=something', function () {
// using the callback function on .load() we can ensure
// the content is always loaded before opening the dialog also
var _dialogBox = $('<div id="dialogBox" />');
// put the html inside of the dialog
_dialogBox.html( $('#popupWindow').html() );
_dialogBox.dialog({
autoOpen: true,
draggable: false,
resizable: false,
modal: true
});
_dialogBox.dialog('open');
});