我有一种情况需要做以下事情:
我遇到的问题是等待关闭模态并在继续之前更新值。因为我不希望所有模态同时出现。我需要在显示模态时暂停它,在模态隐藏时恢复它。
for (var i = 0; i < resultCustom.length; i++) {
if (resultCustom[i].Value == "Ask_User") {
$('#ModalAsk').modal('show').on('hidden.bs.modal', function (e) {
// do something...
})
break;
}
}
$.post('@Url.Action("UpdateAction","Home")', resultCustom).done(function(data){
player = data.player;
load()
});
// What is below is inside my modal as the onclick function for my submit button.
function SubmitAsk(i) {
$('#ModalAsk').modal('hide')
var input = document.getElementById("userinput").value
resultCustom[i].Value = input
}
您可以将$.map()
替换为for
循环,将.one()
替换为.on()
并使用.queue()
,.promise()
和.then()
来实现预期结果。
$({}).queue("wait", $.map(resultCustom, function(value, index) {
return function(next) {
// do stuff
if (value.Value == "Ask_User") {
$('#ModalAsk').modal('show').one('hidden.bs.modal', function (e) {
// do something...
next()
})
}
}
}))
.dequeue("wait")
.promise("wait")
.then(function() {
// done
})