我遇到需要执行以下操作的情况:
我遇到的问题是等待模式关闭并继续更新值。由于我不希望所有模式同时显示。在显示模态时,我需要暂停它,在隐藏模态时,请恢复它。
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
}
答案 0 :(得分:1)
您可以将$.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
})