![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| 444ert666 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 9.5.2006 Репутация: нет Всего: нет |
Добрый день!
Задача следующая, есть некоторая таблица с множеством вложений, их количество и порядок нам неизвестен, нам известно только ID таблицы. Вся эта таблица должна храниться в переменной. Делаю так:
Далее мне необходимо найти элемент в этой копии(чтобы изменить его), известен только ID элемента, и ID копии таблицы. как можно реализовать такое? причем уровень вложенности элементов в таблице может быть бесконечно велик. Буду благодарен за любую помощь, намек или подсказку Это сообщение отредактировал(а) 444ert666 - 29.12.2008, 13:49 |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
так и ищи это элемент и меняй его, какая связь с id таблицы? он к ней не привязан
|
|||
|
||||
| 444ert666 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 9.5.2006 Репутация: нет Всего: нет |
Так поясню подробнее задачи, пытаюсь реализовать механизм размножения таблиц(таблицы различаются). Изначально на странице появляется по одной таблице каждого типа, после загрузки каждой уникальной таблицы запускается savePatternTable('{ID_ROOT_TABLE}') - сохраняем исходное состояние каждой уникальной таблицы(таблицы имеют элементы ввода,которые могут изменятся). ID_ROOT_TABLE - это ID уникальной таблицы, для первой оригинальной таблицы примерно такого вида: CUT_IMAGE[0]..... Теперь нажав плюсик возле какой-то таблички, у нас под ней должна появится ее копия, только все ID в этой копии, должны быть изменится, например для первой копии: CUT_IMAGE[1], IMAGE_WIDTH[1], IMAGE_HEIGHT[1] и тд.
Дык вот получается такая задача, что сохранив копию уникальной таблицы, для добавления ее экземпляра на страницу, нужно пройтись по сохраненной копии и заменить все ID на другие. Задача в прицнипе тривилаьная, если точно знаем уровень вложенности элементов в таблицу. Но в моем случае это не так, все таблицы кардинально отличаются друг от друга как по уровню вложенности элементов, так и по их количеству. Едиснтвенное что нам известно, так это массив ID которые мы должны изменить, примерно в таком виде: Array('CUT_IMAGE','IMAGE_WIDTH','IMAGE_HEIGHT'), а также номер последней добавленной на страницу копии таблицы(под которой нажали плюс). Добавлено через 5 минут и 55 секунд Кратко говоря алгоритм такой: на старте есть несколько уникальных таблиц, сохраняем их структуру и первоначальные значения элементов ввода в шаблон(MULTI[ID]), далее чтобы создать еще один экземпляр какой-то таблицы, копируем шаблон соответствующий ей, проходим по всем необходимым нам ID в этой копии шаблона и меняем циферку в [] на значение Counts[ID], затем выводим копию шаблона, и прибавляем единицу к Counts[ID] |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
ну, сходу придумывается только некая рекурсивная функция пробегающая по всем потомкам и проверяющая, есть ли id, если есть то распарсивает и присваивает новый
Добавлено через 1 минуту и 25 секунд .childNodes самое простое в этом случае. а id сидит прямо в x.id |
|||
|
||||
| 444ert666 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 9.5.2006 Репутация: нет Всего: нет |
bars80080,
Хм... чего тоя сразу не подумал о рекурсивной функции |
|||
|
||||
| 444ert666 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 9.5.2006 Репутация: нет Всего: нет |
Добрый вечер!
Вопрос немного иной направленности, но всеж по этой теме. Как поменять имя уже созданного элемента в IE? Итак вот она функция, которая динамически меняет имена и id всех элементов в копиии таблицы, el - это копия таблицы(со всеми вложениями), а k - просто число.
Все работает и все хорошо. За исключением одного "НО", как всегда IE решил выделится вот эта строчка:
Не меняет аттрибут name элемента list[i] в IE..... В opera и firefox все отлично, Где то нарыл, что IE не позволяет менять имя уже созданного элемента. Так как тогда быть именно в моем случае? Заранее спасибо. |
||||
|
|||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
может через .setAttributte('name', 'newname'); попробовать?
|
|||
|
||||
| 444ert666 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 9.5.2006 Репутация: нет Всего: нет |
пробовал, не работает:((((
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |