Javascript.RU

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

Обратиться n числу объектов
Доброго времени суток, помогите, кто умеет.
Из базы берется переменное количество строк,для каждой создается объект. Есть
CollapsiblePanel1
CollapsiblePanel2
.....................
CollapsiblePaneln

есть общий метод метод open()
Как его вызвать для каждого объекта сразу?

Что-то типа такого:
CollapsiblePaneli.open() где i= 1,2,3..n
Спасибо тому кто откликнется.
Ответить с цитированием
  #2 (permalink)  
Старый 12.05.2010, 08:04
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,571

Лучше храните ссылки на все эти объекты в массиве.
Хотя можно и поперебирать св-ва window с заданным именем.
Но в любом случае каждому объекту придется запускать этот метод.
Ответить с цитированием
  #3 (permalink)  
Старый 13.05.2010, 22:09
Новичок на форуме
Отправить личное сообщение для Volonda Посмотреть профиль Найти все сообщения от Volonda
 
Регистрация: 11.05.2010
Сообщений: 3

Возникает встречный вопрос. Как вызвать метод для содержимого переменной ???


1)при создании объектов записываю их имена в массив

var Clname=new Array('CollapsiblePanel1','CollapsiblePanel2','... ....','CollapsiblePaneln');


2)Вызываю метод

for (n=0;n<Clname.length;n++)
{
Clname[n].open();
}

В данном случае, как я понимаю, Open() вызывается для массива Clname, а не для CollapsiblePaneln...

Подскажите как вызвать его для CollapsiblePaneln?
Ответить с цитированием
  #4 (permalink)  
Старый 13.05.2010, 23:39
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Должен, вроде, для элемента массива. Проверьте, пожалуйста, вдруг, есть ошибка, не связанная напрямую с перебором массива.
Ответить с цитированием
  #5 (permalink)  
Старый 14.05.2010, 08:43
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,571

Я вообще то говорил о том, что надо вообще избавиться от глобальных переменных CollapsiblePanel1 .. n, а в массиве хранить не имена, а ссылки на реальные объекты.

Но раз настаиваете:
for (n=0;n<Clname.length;n++)
{
  if (window[Clname[n]]) {
    window[Clname[n]].open()
  }
}


- для такого случая можно вообще не использовать массив, а сохранить n - кол-во и получать имя объекта конкатенацией постоянной части и индекса.
Ответить с цитированием
  #6 (permalink)  
Старый 16.05.2010, 17:00
Новичок на форуме
Отправить личное сообщение для Volonda Посмотреть профиль Найти все сообщения от Volonda
 
Регистрация: 11.05.2010
Сообщений: 3

Всем спасибо, получилось, что хотел!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическая вставка объектов cathunter jQuery 2 09.12.2009 17:48
как обратиться к childNode по его id в div-е, через id родителя kichSman Events/DOM/Window 5 28.10.2009 02:16
Быстрый поиск объектов Shasoft Общие вопросы Javascript 7 30.07.2009 05:28
обратиться к элементу формы, заданному переменной Andrej_2 Элементы интерфейса 4 15.05.2009 09:18
ООП: как создавать наследника от встроенных объектов? Langalier Общие вопросы Javascript 17 02.02.2009 17:07