1

我有一个 jqueryUI 对话框,它向另一个页面发出请求并在对话框中加载内容。

jQuery("#someDialog").dialog({
    autoOpen: true,
    draggable: false,
    resizable: false,
    modal: true,
    open: function() {
        jQuery(this).load('myurl?type=something');
    }
});​

但是,此代码有时只是打开对话框,加载的内容不会显示在对话框中。我怀疑这是因为 open 事件中的异步代码。

有没有办法来解决这个问题?

4

1 回答 1

0

我通常将内容加载到一个变量 div 中,然后在打开它时将它的 html 作为对话框的文本。

$('#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');
});
于 2012-11-13T19:33:49.853 回答