js异步问题,循环遍历执行一个带弹出框的函数,求指导
js异步问题,循环遍历执行一个带弹出框的函数。总是最后一次遍历的弹出框将前面的给覆盖了。
for(var i=0;i<stackArray.length;i++){
_savecheck1(){
//判断该商户是否停用?
停用的话: 弹出一个确认框,是否确认? 1
点击确认的话:_savecheck2(){
//判断终端是否停用
停用的话:弹出一个确认框,是否确认? 2
点击确认的话:_save(){
//保存数据到数据库,根据执行结果弹出提示信息框,如:成功、失败、信息不全等
}
}
不是停用的话,直接执行:_savecheck2(){
//判断终端是否停用
停用的话:弹出一个确认框,是否确认?
点击确认的话:_save(){
//保存数据到数据库,根据执行结果弹出提示信息框,如:成功、失败、信息不全等
}
}
}
执行的结果是前面遍历中弹出的弹出框都瞬间消失,页面只显示最后一次遍历的。在1处开始弹框,相当于前面的所有便利都没执行,只执行最后一次遍历的一样。
------解决方案--------------------这样做就不友好了,不可能这么搞的。
//页面
if(!confirm("您确认停用吗?"))
return;
var checkIds = "1,2,5,7,8,25";//取得所有选中的终端的id
//一次将所有要执行的id全部传过去
$.post("xxxxxx.xxx?id="+checkIds,function(msg){
alert(msg);//成功或者失败
});
//后台
//执行存储过程,将所有id为传入参数的记录给更新为停用
--update 终端表 set 状态=停用 where id in (x,x,x,x) and 状态!=停用