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;
}
相關文章
相關標籤/搜索