powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как свернуть/развернуть строки таблицы
5 сообщений из 5, страница 1 из 1
Как свернуть/развернуть строки таблицы
    #36008895
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
День добрый,

есть таблица:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
NUMBER | PARAM1 | PARAM2 | ...etc
1           | uiuiowqu | 394809 | 439
2           | 347         | 238490 | 3989
2*1       | 234          | 3423     |233
2*2       | 98309       | 3243     |
2*1*3   | 9837498   | 923849 | 234


и так далее...

хочется иметь возможность видить как всю таблицу, так и в свернутом виде:
1 ...
2 ...
потом при нажатии на, что либо развернуть 2:
1...
2...
2*1
2*2
потом размернуть 2*1 и увидеть все...

Хочется именно пример как это со строками таблици сделать.

Спасибо.
...
Рейтинг: 0 / 0
Как свернуть/развернуть строки таблицы
    #36008965
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы использовал структуру и возможности ООП javascript'а. Например:
Структура (очень кратенько, для удобства надо расширять):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
table = [
    {id: 1 , param1:"uiuiowqu", param2: 394809 },
    {id: 2 , param1:"347", param2: 238490 , children:{status:false, rows:[
        {id: 1 , param1:"234", param2: 3423 },
        {id: 2 , param1:"98309", param2: 3243 , children:{status:false, rows:[
            {id: 1 , param1:"9837498", param2: 983849 }
        ]}}
    ]}}
];
Потом при построении таблицы создавать и вставлять строки в соответствии со структурой. За открытое/закрытое состояние отвечает параметр status, который меняем в зависимости от состояния. Если у элемента есть параметр rows, то добавляем обработчик клика на строку (не помню или можно на всю, я вроде ставил обработчик на каждую ячейку строки).
Узкое место - поиск соответствия строки таблицы строке в структуре. Это можно либо реализовать идентефикаторами строк, либо "натянуть" структуру на саму таблицу (не очень удобно, так как теряется желаемая иерархия), либо идеальный - совмещенный - каждой строке добавлять пареметр-ссылку на объект из нашей структуры. Ну, а с непосредственной реализацией, думаю, проблем не должно быть - кликаем, проверяем есть ли "дети", если есть - в цикле проверяем всех "детей", создаем соответствующие строки с хандлерами, если у них есть "дети", и добавляем в таблицу. Дальше уже идут вариации - закрывать ли "детей" других строк, открывать ли всю подструктуру и т.д.
...
Рейтинг: 0 / 0
Как свернуть/развернуть строки таблицы
    #36009282
Фотография ZeroHold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
g613,

можно только при помощи javascript.
разными способами
ООП, через массивы, либо использовать какие нибудь фреймворки типа jQuery - там довольно элегантно можно управлять html элементами в том числе и таблицасм, но для этого там нужно сперва много прочитать ибо сюда все не уместится.
...
Рейтинг: 0 / 0
Как свернуть/развернуть строки таблицы
    #36009700
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно.

Вот такая идея:
пометить все строки таблицы ( например <tr ... id='1*2'>...</tr> ) а при открытии\закрытии
javascript'ом пробегать по таблице и ставить нужному id класс видимый/не_видимый.
Закрытость 'вложенных' данных сделать на стороне сервера при генерации таблицы
( поставить всем 'вложенным' элементам класс не_видимый ).


Всем спасибо.
...
Рейтинг: 0 / 0
Как свернуть/развернуть строки таблицы
    #36015536
Dima Yermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вложенным не обязательно, особенно это коряво в фф смотрится.
Лучше для самого tr'а ставить класс с display="none" или display="table-row", в зависимости от надобности.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как свернуть/развернуть строки таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]