jQuery each 跳出循环后不再往下执行

[问题描述]

前台提交数据验证时,要求页面上的所有select必须选择,有一个未选择就页面提示。使用 js each循环return false,并没有结束所有循环。。。

jQuery(':checkbox[name="prd_itm[]"]:checked').each(function(){
	if(jQuery(this).closest('tr').find('input[name="prd_itm_cd"]').val() == ''){
		alert('属性未选择');
		return false;
	}
});
[解决方案]
var _isInvalid = false;
jQuery(':checkbox[name="prd_itm[]"]:checked').each(function(){
	if(jQuery(this).closest('tr').find('input[name="prd_itm_cd"]').val() == ''){
		alert('属性未选择');
		_isInvalid = true;
		return false;
	}
});
if (_isInvalid) {
	return false;
}
[知识点]
  1. JQuery each循环,要实现break和continue的功能
    break ----用return false;
    continue --用return ture;
  2. JQuery怎么跳出当前的each循环
    API 上的说明只有跳出整个循环(如果需要退出 each 循环可使回调函数返回 false,其它返回值将被忽略。)

return false;——跳出所有循环;相当于 javascript 中的 break 效果。
return true;——跳出当前循环,进入下一个循环;相当于 javascript 中的 continue 效果
jquery是对象链,所以$(…).each()返回的还是对象集合。each(function(){}):是回调函数,在回调函数里不能返回结果到回调函数each外面。

参考文章:
https://www.jb51.net/article/64213.htm JQuery跳出each循环的方法

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值