我要做的是使用模式对话框模拟状态对话框,处理多个长寿命操作,并在每个操作后使用状态信息更新对话框文本。我目前得到的是对话框直到最后显示并且所有消息都在那里,而不是在开始时获得对话框,并在每次操作完成后更新状态。
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>
答案 0 :(得分:0)
尝试使用open回调并从该回调函数执行所有工作。这样,在您开始其他处理之前,对话框已经打开。
$("#dialog").dialog({
bgiframe: true,
height: 140,
modal: true,
open: function(event, ui) {
doSomething();
}
});