Jquery的each里用return true或false代替break或continue

代码如下:

function methodone(){
....
$.each(array,function(){
if(条件成立){
return true;
}
});
....
}

在一个function里有一个each,在each里某种条件 成立的话,就把这个function返回true或者false

但是在each代码块内不能使用break和continue,要实现break和continue的功能的话,要使用其它的方式
break----用return false;
continue --用return ture;

所以当我在each里想使用return true给这个function返回时,其实只是让each继续执行而以
连each都没有中断,所以function也就不能return了 。

解决办法:通过try捕捉throw出来的错误,达到退出each、并返回错误的目标!


代码如下:

function CheckBatchRow(obj) {
if ($(":checkbox[id$='chkSelect']:checked").size() > 0) {
try {
$(":checkbox[id$='chkSelect']:checked").each(function() {
var prefix = this.id.replace("chkSelect", "");

var txtDateStart = $("#" + prefix + "txtDateStart");
var txtDateEnd = $("#" + prefix + "txtDateEnd");
if ($.trim(txtDateStart.val()) == '' || $.trim(txtDateEnd.val()) == '') {
txtDateStart.addClass("fareValidForm");
txtDateEnd.addClass("fareValidForm");
throw "对不起,请您填写有效期!";

}
else {
d1Arr = txtDateStart.val().split('-');
d2Arr = txtDateEnd.val().split('-');
v1 = new Date(d1Arr[0], d1Arr[1], d1Arr[2]);
v2 = new Date(d2Arr[0], d2Arr[1], d2Arr[2]);
if (v2 < v1) {
txtDateEnd.addClass("fareValidForm");
throw "对不起,结束日期不能小于开始日期!";
}
}

var txtRemaindAmt = $("#" + prefix + "txtRemaindAmt");
if (txtRemaindAmt.val().match(/^[0-9]+$/) == null) {
txtRemaindAmt.addClass("fareValidForm");
throw "对不起,机票数量必须为数字!";
}
else {
if (txtRemaindAmt.val() < 1) {
txtRemaindAmt.addClass("fareValidForm");
throw "对不起,机票数量必须大于0!";
}
}

var txtFarePrice = $("#" + prefix + "txtFarePrice");
if (txtFarePrice.val().match(/^[0-9]+0$/) == null) {
txtFarePrice.addClass("fareValidForm");
throw "对不起,票面价必须为数字,且为10的倍数!";
}
});

} catch (e) {
PopupMsg(e);
return false;
}

return CustomConfirm(obj, '您确定要更新吗?');
}
else {
PopupMsg("对不起,您没有修改任何项!");
return false;
}
}

(0)

相关推荐

  • 浅析JavaScript中break、continue和return的区别

    break function myBreak() { for(var i = 0; i < 5; i++) { if(i == 3) { break; } console.log(i); } } myBreak(); 输出: 0 1 2 break: 直接跳出 当前 的循环,从当前循环外面开始执行,忽略循环体中任何其他语句和循环条件测试.它只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来跳出. continue function myContinue()

  • javascript中break,continue和return语句用法小结

    由于最近一直在看javascript,下面简要说一下它们三个在javascript的一些用法 break语句: break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句.由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是合法的. 如果一个循环的终止条件非常复杂,那么使用break语句来实现某些条件比用一个循环表达式来表达所有的条件容易得多. for(var i=1;i [Ctrl+A 全选 注:如需引入外部Js需刷新才能

  • Powershell的break、continue和return简单总结

    在Powershell中有两个特殊的关键字,就是你使用在循环中的break和continue. 看下这个"continue",循环中的继续就是跳过其中的剩余代码.当你使用一个"break",这个循环将提前结束但是会返回当前所有结果. 除此之外,关键字"return",它将马上退出当前的作用域.所以当你在函数中执行"return",这时函数将会结束,同时当你在脚本中执行"return",这时脚本也将结束.

  • Java中break、continue、return语句的使用区别对比

    break.continue.return之间的区别与联系 在软件开发过程中,逻辑清晰是非常之重要的. 代码的规范也是非常重要的.往往细节决定成败.在编写代码的时候,一定要理解语言的作用以及使用的方法和场景.下面来介绍一下break.continue.return三者的区别和联系. 1. break : (1).结束当前整个循环,执行当前循环下边的语句.忽略循环体中任何其它语句和循环条件测试. (2).只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来跳出

  • Jquery的each里用return true或false代替break或continue

    复制代码 代码如下: function methodone(){ .... $.each(array,function(){ if(条件成立){ return true; } }); .... } 在一个function里有一个each,在each里某种条件 成立的话,就把这个function返回true或者false 但是在each代码块内不能使用break和continue,要实现break和continue的功能的话,要使用其它的方式 break----用return false; con

  • C/C++实操True and false详解

    在C11标准文档中,规定了关系运算符 <.> .<= .>=的运算结果,真时返回1,假时返回0,返回类型为整型. 运算符==.!=和关系运算符类似,除了运算优先级较低以外,也是返回1或0. 真(True)的定义是非0,所以假(False)的定义就是整型的0值. C语言本身只有一个_Bool定义,是一个关键字. _Bool类型是一个对象,存储0和1两个值,是一个无符号的整型. 如下程序所示,_Bool只有0和1,即假和真两个值,赋值时非0都看作1. 任何一个标量值给_Bool类型变量

  • jquery ajax 同步异步的执行 return值不能取得的解决方案

    大家先看一段简单的jquery ajax 返回值的js 代码 复制代码 代码如下: function getReturnAjax{ $.ajax({ type:"POST", data:"username="+vusername.value, success:function(msg){ if(msg=="ok"){ showtipex(vusername.id,"<img src='images/ok.gif'/><

  • javascript中return,return true,return false三者的用法及区别

    1.语法及返回方式 ①返回控制与函数结果 语法为:return 表达式; 语句结果函数的执行,返回调用函数,而且把表达式的值作为函数结果返回出去 ②返回控制无函数结果 语法为:return; 在大多数情况下,为事件处理函数如果让其返回false,可以防止默认的事件行为.例如,默认情况下,点击一个<a>标签元素,页面会跳转到该元素href属性指定的页. 而return false就相当于终止符,return true就相当于执行符. 在js中return false的作用一般是用来取消默认动作的

  • jquery分析文本里url或邮件地址为真实链接的方法

    本文实例讲述了jquery分析文本里url或邮件地址为真实链接的方法.分享给大家供大家参考.具体如下: 这段代码可以分析出文本里的所有超级链接,包含邮件.url.#链接等等,并分别输出为真实链接地址 $.fn.tweetify = function() { this.each(function() { $(this).html( $(this).html() .replace(/((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/

  • 我对PyTorch dataloader里的shuffle=True的理解

    对shuffle=True的理解: 之前不了解shuffle的实际效果,假设有数据a,b,c,d,不知道batch_size=2后打乱,具体是如下哪一种情况: 1.先按顺序取batch,对batch内打乱,即先取a,b,a,b进行打乱: 2.先打乱,再取batch. 证明是第二种 shuffle (bool, optional): set to ``True`` to have the data reshuffled at every epoch (default: ``False``). if

  • jquery获取transform里的值实现方法

    用transform的translateX写了一个侧滑效果,如何获取它改变的值是多少呢? 获取translateX值的方法: $('div').css("transform").replace(/[^0-9\-,]/g,'').split(',')[4]; 直接用css()获取是这样子的: 用正则获取一下它里面的数值: 然后获取第五个值就好了 以上这篇jquery获取transform里的值实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python返回真假值(True or False)小技巧

    在昨天关于substring的blog中有如下一段代码: 也许你已经发现,在Python 3中其实有办法只用一行完成函数: 复制代码 代码如下: >>> def isSubstring2(s1,s2):  return True if s2.find(s1)!=-1 else False 但是...还可以更简单吗? 如何更简单使用Python表达条件语句呢,just for fun :) 一种做法是使用列表索引: 复制代码 代码如下: >>> def isSubstri

  • JavaScript中break、continue和return的用法区别实例分析

    本文实例讲述了JavaScript中break.continue和return的用法区别.分享给大家供大家参考,具体如下: break 停止了这个for循环,跳出循环来继续执行fn函数里之后的语句  function fn() { for(var i = 0; i < 5; i++) { if(i == 3) { break; } console.log(i); } console.log("ha") } fn();//0 1 2 ha continue 只是停止了当前循环,继续

  • 使用el-checkbox-group选中后值为true和false遇到的坑

    目录 el-checkbox-group选中后值为true和false的坑 element ui中el-checkbox-group点击一个全部选中问题 原因是 el-checkbox-group选中后值为true和false的坑 在使用el-checkbox-group设置复选框组的时候,会遇到设置的label值不显示,点击某一选项后,所有值都会选中的情况. 是因为在定义绑定值时,格式出现了问题 <p>checkList:{{ checkList }}</p> <el-ch

随机推荐