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


Posted in Javascript onMay 21, 2014
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; 
} 
}
Javascript 相关文章推荐
struts2+jquery+json实现异步加载数据(自写)
Jun 24 Javascript
JS实现仿Windows7风格的网页右键菜单效果代码
Sep 11 Javascript
JS打印组合功能
Aug 04 Javascript
JavaScript中捕获与冒泡详解及实例
Feb 03 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
Mar 13 Javascript
angularJs使用$watch和$filter过滤器制作搜索筛选实例
Jun 01 Javascript
angular2 ng2 @input和@output理解及示例
Oct 10 Javascript
在vue中使用公共过滤器filter的方法
Jun 26 Javascript
200行HTML+JavaScript实现年会抽奖程序
Jan 22 Javascript
vue页面引入three.js实现3d动画场景操作
Aug 10 Javascript
JS+Canvas实现五子棋游戏
Aug 26 Javascript
vue+elementUI实现简单日历功能
Sep 24 Javascript
alert和confirm功能介绍
May 21 #Javascript
采用call方式实现js继承
May 20 #Javascript
Js+Jq获取URL参数的集中方法示例代码
May 20 #Javascript
js 采用delete实现继承示例代码
May 20 #Javascript
js清空form表单中的内容示例
May 20 #Javascript
Javascript 函数parseInt()转换时出现bug问题
May 20 #Javascript
JavaScript中this关键词的使用技巧、工作原理以及注意事项
May 20 #Javascript
You might like
php 引用(&amp;)详解
2009/11/20 PHP
php递归方法实现无限分类实例代码
2014/02/28 PHP
destoon调用企业会员公司形象图片的实现方法
2014/08/21 PHP
thinkphp中session和cookie无效的解决方法
2014/12/19 PHP
php中动态变量用法实例
2015/06/10 PHP
服务器迁移php版本不同可能诱发的问题
2015/12/22 PHP
js切换光标示例代码
2013/10/10 Javascript
jQuery中使用Ajax获取JSON格式数据示例代码
2013/11/26 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
2015/03/03 Javascript
setTimeout内不支持jquery的选择器的解决方案
2015/04/28 Javascript
weUI应用之JS常用信息提示弹层的封装
2016/11/21 Javascript
jQuery实现标签页效果实战(4)
2017/02/08 Javascript
使用vue-cli创建项目的图文教程(新手入门篇)
2018/05/02 Javascript
简单通过settimeout看javascript的运行机制
2019/05/10 Javascript
解决layui使用layui-icon出现默认图标的问题
2019/09/11 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
element实现合并单元格通用方法
2019/11/13 Javascript
js实现随机点名
2021/01/19 Javascript
Python实现的直接插入排序算法示例
2018/04/29 Python
Python如何将字符串转换为日期
2020/07/31 Python
Python模块常用四种安装方式
2020/10/20 Python
美国照明、家居装饰和家具购物网站:Bellacor
2017/09/20 全球购物
Myprotein比利时官方网站:欧洲第一运动营养品牌
2020/10/04 全球购物
军训感想500字
2014/02/20 职场文书
知识竞赛主持词
2014/03/26 职场文书
大型会议策划方案
2014/05/17 职场文书
圣诞节活动策划方案
2014/06/09 职场文书
结婚通知短信怎么写
2015/04/17 职场文书
城南旧事观后感
2015/06/11 职场文书
奠基仪式致辞
2015/07/30 职场文书
MySQL下使用Inplace和Online方式创建索引的教程
2021/05/26 MySQL
Mysql binlog日志文件过大的解决
2021/10/05 MySQL
警用民用对讲机找不同
2022/02/18 无线电
MySQL分区路径子分区再分区
2022/04/13 MySQL
Go web入门Go pongo2模板引擎
2022/05/20 Golang
pd.drop_duplicates删除重复行的方法实现
2022/06/16 Python