我想在加载并显示引导程序对话框之后调用我的函数loadTest()。
$(".btn").on("click", function() {
$.ajax({
type: "POST",
url: '/echo/html/',
data: {
html: '',
delay: 0.1
},
success: function(data) {
$('body').append('<div id="test_modal_wrapper"></div>');
$('#test_modal_wrapper').html(data);
$("#modal").modal({backdrop: 'static'});
$('#modal').on('hidden.bs.modal', function() {
$('#test_modal_wrapper').remove();
});
loadTest(1, 3);
loadTest(2, 2);
loadTest(3, 1);
}
});
});
function loadTest(id, delay) {
$.ajax({
type: "POST",
url: '/echo/html/',
async: false,
data: {
html: '<div class="test-case"><h5>Testing connection '+ id +'</h5></div>',
delay: delay
},
success: function(data) {
$('.modal-body').append(data);
}
});
}
问题是对话框等待所有调用loadTest()完成,然后显示带有loadTest()函数结果的对话框。
我想要的是首先加载对话框,然后loadTest()做它的魔力。 :)
答案 0 :(得分:2)
如果您想在模态打开之前推迟loadTest
,请使用shown.bs.modal
事件:
$('#modal').on('shown.bs.modal', function() {
loadTest(1, 3);
loadTest(2, 2);
loadTest(3, 1);
});