2014-09-02 96 views
0

jQuery函數返回我已經把它使用一個乾淨的框架,一些JavaScript文件,這裏就是它的格式:未定義回調

var functionLibrary = { 

    validateFields:function(inputArray, result) { 
     $.each(inputArray, function(index, listItem) { 
      if (!$.trim($("#" + listItem).val()).length) { 
       return "empty"; 
      } 
     }); 
    } 

} 

這裏我將數據傳遞到這樣的功能,卻得到了undefined驗證時迴應:

var Validation = functionLibrary.validateFields(['amount', 'ppemail']); 
console.log(Validation); 

爲什麼這樣的功能顯示在控制檯日誌undefined當它應該返回empty

+0

了'validateFields'不返回任何東西......每個回調返回值 – 2014-09-02 12:31:21

+0

的'each'沒有返回的' validateFields'。嘗試在'validateFields'結束之前放置'console.log'來檢查函數是否還沒有返回「空」。 – bzeaman 2014-09-02 12:33:34

回答

2

不必返回從validateFields方法什麼...

var functionLibrary = { 

    validateFields: function (inputArray, result) { 
     var value; 
     $.each(inputArray, function (index, listItem) { 
      if (!$.trim($("#" + listItem).val()).length) { 
       //set the validity status 
       value = "empty"; 
       //stop further execution of the loop 
       return false; 
      } 
     }); 
     //return the value from validateFields 
     return value; 
    } 

}