jquery 的 each 方法中 return 的坑

前端开发 作者: 2024-08-26 01:45:01
jquery 的 each 方法中 return 的坑 Chapter 0 在项目中使用 jquery 的 each 方法时想在 each 的循环中返回一个布尔类型的值于是掉进一个坑中... Chap

jquery 的 each 方法中 return 的坑

    这里的代码,虽然return 了,但是并未实际 return 值作为方法的返回值,而且还是继续往后执行。 在网上查询之后发现在 jquery 的 each 方法中如果 return true 相当于是 continue,而 return false 相当于是 break
 1 $(":checkbox[name='insurace-category']:checked").each(function (index,ele) {
 2         var _item = $(".gift_option_item_" + $(ele).val());
 3         if (_item && _item.length > 0) {
 4             var _premium = $.trim($(_item).find(".custom_inputbox").eq(0).val());
 5             var _selectElement = $(_item).find("select");
 6             if (_selectElement && _selectElement.length > 0 7                 var _amount = $.trim($(_selectElement).val());
 8                 if (!_amount) {
 9                     layer.msg("请选择保额!", () {
10                         $(_selectElement).focus();
11                     });
12                     return false;
13                 }
14             }
15             _premium) {
16                 layer.msg("请输入保费!",1)">() {
17                     $(_item).find(".custom_inputbox").eq(0).focus();
18                 });
19                 20 21         }
22     });
 

我的解决方案如下:
 1    var _isInvalid =  2     $(":checkbox[name='insurace-category']:checked").each( 4          7              9                 10                     layer.msg("请选择保额!"                    $(_selectElement).focus();
12                     _isInvalid = true13                     15 16             17                 layer.msg("请输入保费!"18                 $(_item).find(".custom_inputbox").eq(019                 _isInvalid = 20                 22 23     });
24     if (_isInvalid) {
25         26     }
 
我这里借助了一个变量来辅助判断,当不满足条件时设置为 true,在循环外判断这个变量的值,如果变量的值是 true 则证明又不合法的值,如果变量的值为 false,则证明所需要判断的值都符合要求
原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_68712.html