Javascript 确认框和内部for循环未等待用户操作…所有确认框同时出现
我有以下for循环代码Javascript 确认框和内部for循环未等待用户操作…所有确认框同时出现,javascript,for-loop,confirmation,Javascript,For Loop,Confirmation,我有以下for循环代码 for (var i = 0; i < selection.docs.length; ++i) { callDeleteElement(paramsdoc); } 假设 如果for循环运行5次,则同时会出现5条确认消息。。 但我想在这 第一条确认消息出现 用户选择是/否 处理后,将显示第二条确认消息 有人能帮我吗 模态代码: window.$ConfirmBoxModal = function(isModal, title,content,confirmCb,
for (var i = 0; i < selection.docs.length; ++i) {
callDeleteElement(paramsdoc);
}
假设
如果for循环运行5次,则同时会出现5条确认消息。。
但我想在这
window.$ConfirmBoxModal = function(isModal, title,content,confirmCb,cancelCb){
var btns = {};
btns[$Label('btn.confirm')] = function(){
confirmCb();
$(this).dialog('destroy');
};
btns[$Label('btn.cancel')] = (cancelCb && $.isFunction(cancelCb))
?cancelCb
:function(evt) {$(this).dialog('destroy');};
var params = {
titre: title,
texte: content,
btns: btns,
withBtnClose: false,
options: {
modal: isModal,
closeOnEscape: false,
close: function(event, ui){
$(this).dialog( 'destroy' );
$(this).remove();
}
}
}
return $DialogBox(params);
}
我不确定
$ServerApi
是什么,但我猜它只是异步的。在这种情况下,您必须研究这个函数代表什么,然后用async解决这个问题。您使用的是相同的框架还是类似的东西?这可能会有所帮助。另外,$ServerApi
函数中的第二个参数似乎是callback(在这种情况下,您应该将$confirboxmodal
放入此匿名函数回调中);同样,如果您可以提供这些函数的源($ServerApi
和$confirboxmodal
),可能会有所帮助;谢谢您的回复。.我正在提供代码$ServerApi
如何?
window.$ConfirmBoxModal = function(isModal, title,content,confirmCb,cancelCb){
var btns = {};
btns[$Label('btn.confirm')] = function(){
confirmCb();
$(this).dialog('destroy');
};
btns[$Label('btn.cancel')] = (cancelCb && $.isFunction(cancelCb))
?cancelCb
:function(evt) {$(this).dialog('destroy');};
var params = {
titre: title,
texte: content,
btns: btns,
withBtnClose: false,
options: {
modal: isModal,
closeOnEscape: false,
close: function(event, ui){
$(this).dialog( 'destroy' );
$(this).remove();
}
}
}
return $DialogBox(params);
}