Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.06.2010, 11:39
Новичок на форуме
Отправить личное сообщение для TanTaL91 Посмотреть профиль Найти все сообщения от TanTaL91
 
Регистрация: 23.11.2008
Сообщений: 7

Как вызвать функцию в функции
Есть фунция flags, в не йнеобходимо вызвать функцию nomer что бы они вместе заполнили нужны поля. Но ни как не получается вызвать их вместе. Уже 4 часа мучаюсь, весь нет облазил, ни как не могу найти решения. Подскажите пожалуйста.
function flags(id)
   {

       document.getElementById("cont1").innerHTML="";

       for(t=0; t<100; t++) 
       {
         if(id == tableFlag[window.t][1])
         {  
         document.getElementById("cont1").innerHTML+=("<option value='"+tableFlag[window.t][0]+"'>"+tableFlag[window.t][2]+"</option>");
         }     
       }        
   } 
   
function nomer(id)                                                        
   {
       document.getElementById("cont2").innerHTML="";
       var td = 1;
       var i=0;
       while (i<=100) 
       {
         if(td == 1) {var class1 = "t15"; class2 = "t13"; td = 2;}
         else {var class1 = "t13"; class2 = "t14"; td = 1;}
         if(id == tableNumber[i][0])
         {  
         document.getElementById("cont2").innerHTML+=("<tr> <td width='113' class='left "+class1+"'>"+tableNumber[i][1]+"</td><td width='235' class='"+class2+"'>"+tableNumber[i][2]+"</td><td width='219' class='"+class1+"'>"+tableNumber[i][3]+"</td></tr>");
         }
         i++;
       }  
   }
Ответить с цитированием
  #2 (permalink)  
Старый 13.06.2010, 12:06
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,571

А почему так не делаешь:
function flags(id) { 
// ...
nomer(id);

}
?
И еще: innerHTML не надо делать +=. Накапливай в переменной а за циклом уже присвой obj.innerHTML = переменная.
Ответить с цитированием
  #3 (permalink)  
Старый 13.06.2010, 12:19
Новичок на форуме
Отправить личное сообщение для TanTaL91 Посмотреть профиль Найти все сообщения от TanTaL91
 
Регистрация: 23.11.2008
Сообщений: 7

Если вставляю в начало, то блокируется все что после этой функции(но функция выводится)

function flags(id)
   {
       nomer(id);  
       document.getElementById("cont1").innerHTML="";
       for(t=0; t<100; t++) 
       {
         if(id == tableFlag[window.t][1])
         {  
         document.getElementById("cont1").innerHTML+=("<option value='"+tableFlag[window.t][0]+"'>"+tableFlag[window.t][2]+"</option>");
         }     
       }
   }


Если ставлю в конец, то выводится весь текст функции в которую вставляю, а функция nomer(id); не выводится...
function flags(id)
   {  
       document.getElementById("cont1").innerHTML="";
       for(t=0; t<100; t++) 
       {
         if(id == tableFlag[window.t][1])
         {  
         document.getElementById("cont1").innerHTML+=("<option value='"+tableFlag[window.t][0]+"'>"+tableFlag[window.t][2]+"</option>");
         }     
       }
       nomer(id);
   }


Пытался даже делать отдельную функцию и заталкивать их вместе, но 1 работает, 2рая блокируется... И не важно какую поставить вперед, она будет работать...
Ответить с цитированием
  #4 (permalink)  
Старый 13.06.2010, 12:26
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,571

сделай в каждой функции в начале alert(id) и посмотри что передается в "не работающую" - т.к. скорее всего переопределяешь id, хотя из твоего кода и не видно.
Ответить с цитированием
  #5 (permalink)  
Старый 13.06.2010, 12:34
Новичок на форуме
Отправить личное сообщение для TanTaL91 Посмотреть профиль Найти все сообщения от TanTaL91
 
Регистрация: 23.11.2008
Сообщений: 7

У меня почему то после вывода цикла, вообще все блокируется... он просто дальше не читает...

В чем может быть дело?
Ответить с цитированием
  #6 (permalink)  
Старый 13.06.2010, 12:53
Интересующийся
Отправить личное сообщение для qwoiejfoiej Посмотреть профиль Найти все сообщения от qwoiejfoiej
 
Регистрация: 02.06.2010
Сообщений: 21

Что подразумевается под словом "блокируется"? Комп виснет или функция не выполняется?
Ответить с цитированием
  #7 (permalink)  
Старый 13.06.2010, 12:54
Новичок на форуме
Отправить личное сообщение для TanTaL91 Посмотреть профиль Найти все сообщения от TanTaL91
 
Регистрация: 23.11.2008
Сообщений: 7

нашел из за чего не хочет идти дальше, но как и чем это заменить не знаю

Когда начинаю перебирать циклом, то после него не хочет, но если вместо window.t поставить определеную цифру, он четко завершает и продолжает работать дальше. Но в том то и смысл что надо перебирать, что бы обойти весьмассив...
if(id == tableFlag[window.t][1])
Ответить с цитированием
  #8 (permalink)  
Старый 13.06.2010, 13:02
Новичок на форуме
Отправить личное сообщение для TanTaL91 Посмотреть профиль Найти все сообщения от TanTaL91
 
Регистрация: 23.11.2008
Сообщений: 7

Как можносделать Выборку из JS массива

var tableFlag = [
                    [1, 1, 427], 
                    [2, 1, 423], 
                    [3, 2, 927], 
                    [4, 2, 923],
                    [5, 3, 027], 
                    [6, 3, 023],                    
                    ];
Ответить с цитированием
  #9 (permalink)  
Старый 13.06.2010, 13:07
Интересующийся
Отправить личное сообщение для qwoiejfoiej Посмотреть профиль Найти все сообщения от qwoiejfoiej
 
Регистрация: 02.06.2010
Сообщений: 21

Блин я туплю, у вас длина таблиц шесть и шестнадцать(вам надо было их в этой же теме запостить), а вы их перебираете до сотни. Естественно он их выводит и вылетает с ошибкой.
Замените t<100 на t<tableFlag.length и i<=100 на i<tableNumber.length

Последний раз редактировалось qwoiejfoiej, 13.06.2010 в 13:09.
Ответить с цитированием
  #10 (permalink)  
Старый 13.06.2010, 13:17
Новичок на форуме
Отправить личное сообщение для TanTaL91 Посмотреть профиль Найти все сообщения от TanTaL91
 
Регистрация: 23.11.2008
Сообщений: 7

Всем форумчанам, огромное спасибо.

qwoiejfoiej вам особая благодарность, один пост перевернул весь рабочий день Еще раз огромное спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переменная как значение функции. Jurasmi Общие вопросы Javascript 7 22.04.2010 12:45
Как из userjs FF вызвать функцию из внешнего файла ? pods Общие вопросы Javascript 1 07.01.2010 21:36
как вызвать функцию название которой находиться в строке dark Общие вопросы Javascript 3 14.10.2009 13:02
как вызвать функцию? pumpurumer jQuery 2 27.08.2009 19:39
Как вызвать функцию если менять надо не все параметры? britanik Общие вопросы Javascript 3 07.03.2009 23:13