2014-09-02 3 views
0

Я собрал немного файла JavaScript, который использует чистую основу, вот как он отформатирован:JQuery функция возвращает неопределенное значение на обратный вызов

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' это ничего ... не возвращая каждый обратный вызов возвращает значение –

+0

Параметр' each' не возвращается для ' validateFields'. Попытайтесь поставить 'console.log' до конца' validateFields', чтобы проверить, не вернула ли функция «пустой». – bzeaman

ответ

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; 
    } 

} 
Смежные вопросы