Показать сообщение отдельно
  #1 (permalink)  
Старый 01.07.2014, 12:12
Интересующийся
Отправить личное сообщение для feoalter7 Посмотреть профиль Найти все сообщения от feoalter7
 
Регистрация: 28.09.2012
Сообщений: 19

Вызов метода внутри объекта
Здравствуйте! Столкнулся со следующей проблемой. Есть объект, в котором описаны методы, один из методов (count_checked_elem) формирует массив и присваивает его другому методу-объекту (res_array, массив с данными), а из третьего (submit) эти данные отправляются

control = {
        res_array: {},
        count_checked_elem: function(name){
            var res_array_temp = new Array(), self = this;
            var Elements = document.getElementsByName(name), countChecked = 0, coincidence = 0;
            
            for(var i = 0, count = Elements.length; i < Elements.length; i++){
                if(Elements[i].checked){
                    var currentElemVal = Elements[i].value;
                    res_array_temp.push(currentElemVal);
                    countChecked++;
                }
            }
            self.res_array = res_array_temp;
            alert(self.res_array); //выводит верный, сформированный массив
            return countChecked;
        },
        submit: function(){
            var self = this;
            alert(self.res_array); //выводит undefined
        }
    }


После формирования и присваивания выводит массив с данными, а из метода submit выводит undefined, почему-то думаю что дело в контексте вызова this, но не могу сам додуматься в чем ошибка..Спасибо.
Ответить с цитированием