jquery的each循环return语法有点坑

版权声明:小雷FansUnion的版权声明 https://blog.csdn.net/FansUnion/article/details/86354462

//重复绑定
         $(".bankCardNo").each(function(){
              var bankCardNoInTable= $(this).attr("bankCardNo");
              if(bankCardNoInTable==bankCardNo){
                  layerAlert("不能重复绑定银行卡");
                  return false;
              }
        });

不会return,函数不会返回。和常见的java、js、jquery语法等不一致。

看了1个人的写法,看来是真的不能用。

只能用1个变量,在循环结束后,判断一次。

很奇怪,一般来说return会终止js,但是今天万万没想到的是,jquery 的each循环中,return不好使,做一记录,

var result = true;
        $('input[type="file"][name="fileField"]').each(function(){
              if($(this).val() != "") {debugger;
                  $.messager.alert('提示:',"请先上传附件","info"); 
                  result = false;
                  return false;
            }
        });
        if (!result)
          return;
如果不加result,程序会继续执行的,所以加一个全局变量控制
--------------------- 
作者:xlj3 
来源:CSDN 
原文:https://blog.csdn.net/luman1991/article/details/53698646 
版权声明:本文为博主原创文章,转载请附上博文链接!

另外,如何在jquery each循环使用continue或者break中断循环?

问题描述

jquery each中不能直接使用continue或break
解决方案

要实现break和continue的功能的话,要使用其它的方式 
break—-用return false; 
continue –用return ture;
参考

http://www.111cn.net/wy/jquery/jquery_each.htm
--------------------- 
作者:江南孤鹜 
来源:CSDN 
原文:https://blog.csdn.net/mengmakies/article/details/51485882 
版权声明:本文为博主原创文章,转载请附上博文链接!

最终代码

var bankCardNo = $("#card").val();
		var bankCardIsRepat=false;
		//重复绑定
		 $(".bankCardNo").each(function(){
			  var bankCardNoInTable= $(this).attr("bankCardNo");
			  if(bankCardNoInTable==bankCardNo){
				  bankCardIsRepat=true;
				  return false;
			  }
		});
		if(bankCardIsRepat){
			  layerAlert("不能重复绑定银行卡");
			  return;
		}

猜你喜欢

转载自blog.csdn.net/FansUnion/article/details/86354462