在jquery中,执行过程中如果想要彻底跳出某方法,可以使用throw SyntaxError('执行错误')
它与return false的区别是:
return false跳出的是当前循环的执行;
throw SyntaxError('执行错误') 跳出的则是整个方法的执行
案例:
在下面的案例中,如果选择执行【return false】跳出的只是each的循环,
如果选择执行的是【throw SyntaxError('执行错误') 】跳出的则是function这个方法;
function sjItem(obj,id,num,sx,name){
//判断提交列表里面是否有该试剂,如果该试剂已存在提交列表里面的话,则提示用户已选择
$(".table tr").each(function(){
// alert(222);
var shiji_id = $(this).find('.shiji_id').val();
if(id == shiji_id){
layer.msg('该试剂已存在提交列表,请到提交列表中对数量进行操作!');
throw SyntaxError('执行错误');
//return false;
}
})
//---注释开始---
//库存
str+="<input class='kc_num' type='hidden' value="+num+">";
//领取上限
str+="<input class='kc_sx' type='hidden' value="+sx+">";
//试剂id
str+="<input class='shiji_id' type='hidden' value="+id+">";
str+="<input type='hidden' value="+id+" name='data["+id+"][id]'>";
//---注释结束---
$('.sjtijiao').append(str);
}