Jquery each return false 问题

最近遇到一个需求,保存一些数据,可是须要判断全部输入框是否为空,若是为空的话,弹窗提示数据为空.不为空再执行保存的的ajax方法ajax

function test(){
    $('input[type="text"]').each(function() {
                if($.trim($(this).val()).length == 0){
                  return false;
                }
            });
            
            .....$.ajax方法
}

问题来了,此处不管为不为空,都会调用方法体中的ajax方法,后来才知道函数

$("").each(function(){
        return false;
    });

each函数体中的return false至关于break,因此直接跳过判断为空的方法体去执行ajax操做.this

解决方案:设置一个flag 标记code

var isFormValid = true;
            $('input[type="text"]').each(function() {
                if($.trim($(this).val()).length == 0){
                    isFormValid =  false;
                }
            });
            if(!isFormValid){
                alert('不可为空!');
                return false;
            }

解决方案:设置try_catch()orm

try{
   $('input[type="text"]').each(function() {
                if($.trim($(this).val()).length == 0){
                 throw name;
                }
            }); 
}catch(e){
    alert(e+"test");
    return false;
}
相关文章
相关标签/搜索