Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2011, 12:41   #1
mar4elo
Форумчанин
 
Регистрация: 17.04.2008
Сообщений: 146
По умолчанию Работа с таблицами jquery

Смысл таков, есть таблица в каждой строчке есть ссылка редактировать... как мне сделать что бы после нажатия кнопки редактировать, таблица как бы разъезжалась, а по середине был div с полями редактирования
Изображения
Тип файла: jpg Меню.jpg (12.5 Кб, 139 просмотров)
mar4elo вне форума Ответить с цитированием
Старый 13.01.2011, 14:37   #2
yury_coder
Пользователь
 
Регистрация: 31.10.2010
Сообщений: 53
По умолчанию

динамически создать tr и в него вставить этот див.
Насчёт анимации не помогу, я jQuery не знаю.

если подойдёт вариант на чистом Javascript - стучи в личку
yury_coder вне форума Ответить с цитированием
Старый 13.01.2011, 14:40   #3
yury_coder
Пользователь
 
Регистрация: 31.10.2010
Сообщений: 53
По умолчанию

да сейчас даже css 3 может решить эту задачу
yury_coder вне форума Ответить с цитированием
Старый 13.01.2011, 15:43   #4
KPEATuBHO
Форумчанин
 
Аватар для KPEATuBHO
 
Регистрация: 03.09.2010
Сообщений: 197
По умолчанию

Цитата:
Сообщение от yury_coder Посмотреть сообщение
динамически создать tr и в него вставить этот див.
Насчёт анимации не помогу, я jQuery не знаю.

если подойдёт вариант на чистом Javascript - стучи в личку
Дело говорит! Создаете динамически строку, display:none ей ставите. А чтобы анимировать раскрытие этой строки на onclick событие надписи "редактировать" ставьте функцию вида:

$("#temp_edit_box").slideToggle("fa st");

где temp_edit_box - id созданной строки.
KPEATuBHO вне форума Ответить с цитированием
Старый 13.01.2011, 19:41   #5
mar4elo
Форумчанин
 
Регистрация: 17.04.2008
Сообщений: 146
По умолчанию

А как строку поставить в нужно мне место?
mar4elo вне форума Ответить с цитированием
Старый 13.01.2011, 19:41   #6
mar4elo
Форумчанин
 
Регистрация: 17.04.2008
Сообщений: 146
По умолчанию

Не создавать же штук 50 строк скрытых
mar4elo вне форума Ответить с цитированием
Старый 13.01.2011, 19:50   #7
yury_coder
Пользователь
 
Регистрация: 31.10.2010
Сообщений: 53
По умолчанию

на Javascript это так:

Код:
var row = document.createElement('tr');
row.style.display = 'none';

//tr2 - объект, СЛЕДУЮЩЕЙ строки этой таблицы
tr2.parentNode.insertBefore(row, tr2);
yury_coder вне форума Ответить с цитированием
Старый 14.01.2011, 16:56   #8
mar4elo
Форумчанин
 
Регистрация: 17.04.2008
Сообщений: 146
По умолчанию

//tr2 - объект, СЛЕДУЮЩЕЙ строки этой таблицы

tr2.parentNode.insertBefore(row, tr2);
Подробней если можно ......
Я просто не могу понять как мне вставить программно строку в нужное место..... например если пользователь нажмет редактировать на 100 сроке, то создаться дополнительная должна ниже тобишь 101...
mar4elo вне форума Ответить с цитированием
Старый 14.01.2011, 19:39   #9
mar4elo
Форумчанин
 
Регистрация: 17.04.2008
Сообщений: 146
По умолчанию

С добавлением строк разобрался:
Код:
        function add_row(line)
        {
     
            var table_id = document.getElementById("tt_able");
            var newrow = table_id.insertRow(line);
            
            for (i=1; i<=5; i++)
            {
                //alert(this.parentNode.rowIndex);
                newrow.insertCell(newrow.parentNode).innerHTML = "<div></div>";
            }

        }
Теперь есть новая проблема.
Допустим есть добавленная строка с1, пользователь опять нажимает на ссылку редактировать с1 должно пропасть и появиться строка под той на которой он нажимал редактировать.... как? То есть одновременно может быть только однана виртуальная строчка
mar4elo вне форума Ответить с цитированием
Старый 14.01.2011, 21:42   #10
mar4elo
Форумчанин
 
Регистрация: 17.04.2008
Сообщений: 146
По умолчанию

Вроде решил...)) если кто знает более рациональное решение то плиз в студию....
Код:
        function add_row(line)
        {
 
            var table_element = document.getElementById("tt_able");
            var newrow = table_element.insertRow(line);
            var row_element = newrow.parentNode;
            for (i=1; i<=5; i++)
            {
                //newrow.insertCell(row_element).innerHTML = "<div id='cath'>ggggggggggg</div>";
                newrow.innerHTML = "<td colspan=5><div>dddd</div></td>";
            }

            if (document.getElementById("Editor_menu"))
            {
                 var row_element = document.getElementById("Editor_menu");
                 var row = row_element.rowIndex;
                 table_element.deleteRow(row);
            }
           newrow.id = 'Editor_menu';
        }
mar4elo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с таблицами dbf b.grigorev БД в Delphi 16 21.04.2010 09:51
работа с таблицами Petruha-nsk Общие вопросы C/C++ 2 26.04.2009 13:31
Работа с таблицами БД Rusl92 БД в Delphi 4 10.04.2008 16:58
работа с таблицами Sexyprogrammist Общие вопросы Delphi 1 15.06.2007 01:00