function submitOpenAcount(){
var platIdVal = "";
var selectSum = 0;
var $checkedSelections = $('input[name="orderListInfo"]:checked');//获取所有选中的checkbox
$.each($checkedSelections,function(i,n){
platIdVal = $checkedSelections.eq(i).parents('tr').find('select').val();
if(platIdVal == ""){
alert("对不起,请您选择选中信息对应的受理渠道!");
return;
}
if (selectSum==0) {
crm_olid += $checkedSelections.eq(i).val()+":"+platIdVal;
}else{
crm_olid += "," + $checkedSelections.eq(i).val()+":"+platIdVal;
}
selectSum=selectSum+1;
});
$.ajax({
type: "POST",
......
});
}if(platIdVal == ""){
alert("对不起,请您选择选中信息对应的受理渠道!");
return;
}
本意是想alert信息之后不让程序继续执行,但是点完alert的确定后继续执行ajax,百度了下才知道,原来在each代码块中
return false = break
return ture = continue
在each里使用 return 给整个函数返回时,其实只是跳出each循环而已
解决办法:通过try捕捉throw出来的错误,达到退出each、并返回错误的目标!
try{
$.each($checkedSelections,function(i,n){
platIdVal = $checkedSelections.eq(i).parents('tr').find('select').val();
if(platIdVal == ""){
throw "对不起,请您选择选中信息对应的受理渠道!";
return;
}
if (selectSum==0) {
crm_olid += $checkedSelections.eq(i).val()+":"+platIdVal;
}else{
crm_olid += "," + $checkedSelections.eq(i).val()+":"+platIdVal;
}
selectSum=selectSum+1;
});
}catch(e){
alert(e);
return;
}
JS阻止循环内异常处理
本文介绍了一种在JavaScript中处理循环内的异常情况的方法。当遇到特定条件时,如未选择受理渠道,会触发错误提示并中断后续处理,确保程序不会在错误状态下继续执行。
1258

被折叠的 条评论
为什么被折叠?



