return false 的其中一种用法

return false 的具体是做什么的在这里就不多说了,因为我觉得我形容不明白。。。。。避免大家弄混乱,就不给大家添麻烦了~~

  直接上例子:

  1、先看看下面一段代码,指出其中的错误所在:

//点击全职列表页删除走接口
          $('body').on('click','.qz-teacher-bar-batch .qz-delete', function(event) {
              var ids=[],
                  continuing = true;
              $('.qz-lt tr').each(function (index,el){
                if($(this).find('.check-box').hasClass('on')){//当前区域被选中 classLessononeToOne
                    if($(this).attr('oneToOne') != 0 || $(this).attr('classLesson') != 0){
              layer.msg('已有一对一或班组课的教师不能被删除');
              return false;
            }else{
              ids.push($(
this).attr('qzId'));
            }
         }
        });
        if(ids.length == 0){ layer.msg('请先选择需要操作的对象',{time:1000}); return false; }
        //ajax:
        $.ajax({
          url:
'XXXXX',//接口地址
          type: 'XXX',//请求类型
          data: XXX,//参数
          traditional: true,
          dataType:
"JSON",//数据类型
          success: function(data){}
         });
    });

  错误的地方就在于:

    大家有注意到return false外面有几个括号了吗?就是红色的括号,就是那三个红色的括号。错误就出现在这里,也就是说,return false 的外面有三个括号,但是重点在于return false 只能负责两个括号以内的范围,当超出了这个范围,returnfalse 就不管用了,那returnfalse 不管用的时候怎么办呢?下面就是答案:

  2、接下来我们来看改良后的代码

          //点击全职列表页删除走接口
          $('body').on('click','.qz-teacher-bar-batch .qz-delete', function(event) {
              var ids=[],
                  continuing = true;
              $('.qz-lt tr').each(function (index,el){
                if($(this).find('.check-box').hasClass('on')){//当前区域被选中 classLessononeToOne
                    if($(this).attr('oneToOne') != 0 || $(this).attr('classLesson') != 0){
                        continuing = false;
                    }else{
                        ids.push($(this).attr('qzId'));
                    }
                }
            });
              if(!continuing){
                  layer.msg('已有一对一或班组课的教师不能被删除');
                return false;
              }
              if(ids.length == 0){
                  layer.msg('请先选择需要操作的对象',{time:1000});
                  return false;
              }
              //ajax: 
            $.ajax({
                 url: 'XXXXX',//接口地址
                type: 'XXX',//请求类型
                data: XXX,//参数
                traditional: true,
                dataType: "JSON",//数据类型
                success: function(data){}
               }); 
          });

   就是这样~~找到一个中介continuing,这样return false 就能起作用了。

posted @ 2017-08-10 16:24  Beyrl.pan  阅读(550)  评论(0编辑  收藏  举报