Попытка обновить текст в модальном диалоговом окне JQueryUI, и он не отображается до конца - PullRequest
1 голос
/ 25 марта 2011

Я пытаюсь смоделировать диалог состояния, используя модальное диалоговое окно, обрабатывающее несколько долгоживущих действий, и обновляя текст диалога информацией о состоянии после каждого действия. То, что я сейчас получаю, это то, что диалоговое окно не отображается до конца, и все сообщения есть, вместо того, чтобы получать диалоговое окно в начале, с обновлениями статуса после каждой операции.

function TestModalUpdate() {
    $("#dialog").dialog({
        bgiframe: true,
        height: 140,
        modal: true
    });
    var i
    for(i = 0; i < 5; i++) {
        doSomething();
    }
}
function doSomething() {
    wait(1000);
    $('#dialog').html($('#dialog').html()+"<p>new line</p>")
}
function wait(msecs) {
    var start = new Date().getTime();
    var cur = start
    while(cur - start < msecs) {
        cur = new Date().getTime();
    }
} 

<input type="button" id="Test" onclick="TestModalUpdate();" value="test"/>
<div id="dialog" title="Basic modal dialog">
</div>

1 Ответ

0 голосов
/ 26 марта 2011

Попробуйте использовать открытый обратный вызов и выполнить всю свою работу с помощью этой функции обратного вызова.Таким образом, диалоговое окно уже открыто до того, как вы приступите к другой обработке.

$("#dialog").dialog({
        bgiframe: true,
        height: 140,
        modal: true,
        open: function(event, ui) {
            doSomething();
        }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...