Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.12.2010, 04:27
Интересующийся
Отправить личное сообщение для infocean Посмотреть профиль Найти все сообщения от infocean
 
Регистрация: 12.07.2009
Сообщений: 18

Изменение имени и выполнение функции в цикле
Всем примет.
Подскажите, пожалуйста, как сделать, чтобы код ниже заработал?
for (nnn=0;nnn<97;nnn++){
	for (bbb=0;bbb<8;bbb++){
		if(new frames.quiz_main.initValuate+nnn+()[+bbb+].valuation==1){
			ggg="radio0"+nnn+"00"+bbb;
			frames.quiz_main.document.domanda.ggg.checked=true;
		}
	}
}


Интересует сборка и запуск вот этой строки:
new frames.quiz_main.initValuate+nnn+()[+bbb+].valuation;==1

Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 03.12.2010, 07:59
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от infocean
new frames.quiz_main.initValuate+nnn+()[+bbb+].valuation;==1
Эта строка из-за синтаксических ошибок, не может работать

на заметку:
var i = 3;
while(i--){
      alert('id'+i);
}
Ответить с цитированием
  #3 (permalink)  
Старый 03.12.2010, 12:53
Интересующийся
Отправить личное сообщение для infocean Посмотреть профиль Найти все сообщения от infocean
 
Регистрация: 12.07.2009
Сообщений: 18

Сообщение от monolithed Посмотреть сообщение
Эта строка из-за синтаксических ошибок, не может работать

на заметку:
var i = 3;
while(i--){
      alert('id'+i);
}
Я как раз и не могу понять, как правильно сформировать эту строку, так чтобы потом она выполнилась и произошла проверка на её значение.
Строка, после формирования должна выглядеть вот так, которая в свою очередь должна выполниться и получить значение:
new frames.quiz_main.initValuate22()[1].valuation


Вот так не работает(алерт не срабатывает , значит строка не выполняется):
for (nnn=0;nnn<97;nnn++){
	for (bbb=0;bbb<8;bbb++){
		if('new frames.quiz_main.initValuate'+nnn+'()['+bbb+'].valuation'==1){
			alert('Test');
			ggg='radio0'+nnn+'00'+bbb;
			frames.quiz_main.document.domanda.ggg.checked=true;
		}
	}
}

Последний раз редактировалось infocean, 03.12.2010 в 12:58.
Ответить с цитированием
  #4 (permalink)  
Старый 03.12.2010, 13:37
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Если сформировать строку, она не обязана исполняться. Строки не занимаются этим Да и вообще, бредово как-то выглядет в этом всем деле оператор new.
Ответить с цитированием
  #5 (permalink)  
Старый 03.12.2010, 14:50
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

<script type="text/javascript">
window.onload = function(){
    for(var i=0; i<3; i++){
        var element = document.createElement('div');
        element.id = 'id'+i;
        element.innerHTML = 'click'+i;
        document.body.appendChild(element);

        element.onclick = (function(){
             return function(){
                  alert(this.id);
             };
         })();
    }
};
</script>
Ответить с цитированием
  #6 (permalink)  
Старый 03.12.2010, 17:11
Интересующийся
Отправить личное сообщение для infocean Посмотреть профиль Найти все сообщения от infocean
 
Регистрация: 12.07.2009
Сообщений: 18

всем спасибо, вопрос решил...
помог eval()
var nn=1;
		for (i=nn;i<=98;i++){
			for (bb=0;bb<9;bb++){
				cc='new frames.quiz_main.initValuate'+i+'()['+bb+'].valuation';
				if(eval(cc)==1){
					if(i>10){ ff='radio0'+i+'00'+bb;}
					if(i<10){ ff='radio00'+i+'00'+bb;}
					hh='frames.quiz_main.document.domanda.'+ff+'.checked=true';
					jj=eval(hh);
				}
			}
		}
Ответить с цитированием
  #7 (permalink)  
Старый 03.12.2010, 18:11
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,587

Вообще подозреваю что нужно было что-то типа:
var nn=1;
		for (i=nn;i<=98;i++){
			for (bb=0;bb<9;bb++){
				if(new frames.quiz_main['initValuate'+i]()[bb].valuation){
					if(i>10){ ff='radio0'+i+'00'+bb;}
					if(i<10){ ff='radio00'+i+'00'+bb;}//а если i==10?
					frames.quiz_main.document['domanda.'+ff].checked=true;
				}
			}
		}
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение innerHTML в цикле %) Tror Общие вопросы Javascript 24 03.05.2012 06:36
Прерывается выполнение функции при смене аргумента mikser763 Общие вопросы Javascript 1 11.10.2010 16:36
изменение текущего контекста функции vkovalev jQuery 13 16.03.2009 12:52
Определить выполнение функции BAnder Events/DOM/Window 24 03.02.2009 20:58
Паралельное выполнение одной и той-же функции Сеня AJAX и COMET 3 24.01.2009 20:59