2013-03-12 3 views
0

Метод isUpdatable возвращает undefined, когда он должен возвращать true или false. Является ли это проблемой объема. Когда я регистрирую метод isUpdatable, я вижу, что он выводит true и false, но функция keyup возвращает undefined.Функция, не возвращающая логическое значение

$(function() { 
var updatableEl = ['home', 'block', 'cat']; 

inputFields.keyup(function(){ 
     var $input = $(this); 
     console.log("isUpdatable= ", isUpdatable($input)); 
    }); 

    function isUpdatable(el){ 
     $.each(updatableEl, function(intIndex, objValue){ 
      //console.log(" objValue = ", el.hasClass(objValue)); 
      return el.hasClass(objValue); 
     }); 
    } 

}); 

ответ

0

$.each возвращает исходный объект JQuery (для построения цепочки).
Он игнорирует возвращаемое значение его обратного вызова.

В любом случае, ваш код не имеет смысла.
Вы вычисляете три разных булева; какой из этих трех вы хотите вернуться?

0

Придумал это для всех, у кого могла быть аналогичная проблема.

function isUpdatable(el){    
    for(var i=0; i< updatableEl.length; i++){ 
       if(el.hasClass(updatableEl[i])){ 
        return true; 
       } 
      } 
    } 
Смежные вопросы