javascript - Jquery - 对于每个等待显示模式
问题描述
我正在测试使用数组对象创建每个循环。我想每个元素都显示一个带有数据和问题的模式窗口。回答问题后,模态将与其他数组元素一起隐藏和显示。
我已经阅读了很多信息,并且每个循环都等不及响应¿?
模态:
该接口用于要求用户替换图像。
我正在使用以下代码:
$.each( arrayExist, function( i, value ) {
if (value == 1) { // Show modal with the old and new image when value is true
alert ('Exist');
$('#overwriteImages').modal('show');
$('#overwriteImages').on('show.bs.modal', function (event) {
$('input[type="submit"]').click(function(event){
$('#btnYes').on('click', function() {
$('#overwriteImages').modal('hide');
});
$('#btnNo').on('click', function() {
$('#overwriteImages').modal('hide');
arrayCod.splice( $.inArray(removeItem,i) ,1 );
alert(arrayCod.length);
});
});
});
}else{
alert ('Not Exist');
}
});
我不确定这是否可行,或者它会是一个更好的选择...... ajax 或其他什么。
问题是每个循环都在每个模态窗口中执行。它不会等待响应是或否。示例:
选择两个元素。
元素(1)-> 显示模态和两个警报,因为每个循环运行两次)
Element(2) -> 显示模态和两个警报,因为每个循环运行两次)
正确的行为是:
选择两个元素。
Element(1) -> 仅显示模态和此元素的警报。
Element(2) -> 仅显示模态和此元素的警报。
总结是:我需要每个循环等待模式窗口中的响应以继续循环。
解决方案
不要在这里使用循环。当然,该each
函数不会等待从“模态”窗口返回,因为您的窗口实际上不是模态的(只有alert
,prompt
并且comfirm
是真正的模态)。一切都经过事件,因此声明一个变量来保存您现在要显示的元素的索引,并在用户单击“nueva”或“anterior”从数组中恢复元素并对其进行操作时对其进行递增和递减。
推荐阅读
- pandas - 如何在不完全匹配的情况下合并 pandas DF?
- python - 我可以发送 **kwargs 来代替 requests.post 中的 set 参数吗?
- xslt - 您可以在 XSL 中的分组分隔符上应用样式表吗?
- sql-server - 如何使用 System.Threading.Monitor 在 powershell 中锁定对象/类型?
- python - Pandas Dataframe 将多列分成箱并绘制每个
- vue.js - 在什么阶段使用 API(vuex)处理数据?
- html - 当屏幕放大或缩小时,如何使元素保持原位?
- python - Pyinstaller PermissionError: [Errno 13] Permission denied: run.exe
- powershell - 您如何使抽象的嵌套字典/哈希表对象可读(样式)?
- docker - 赛普拉斯没有连接到本地主机