Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.04.2009, 09:42
Аспирант
Отправить личное сообщение для madgals Посмотреть профиль Найти все сообщения от madgals
 
Регистрация: 27.12.2008
Сообщений: 53

Выбор элементов и построение списка выбранных элементов.
Есть 3 таблица. 1 - слева, 2 - справа, 3 под ними.
В левой выбирается какой то элемент и содержимое появляется во 2й таблице. Когда во второй таблице мы щелкаем на строку - ее содержимое перемещается в 3ю таблицу. Т.е. теперь 3я таблица содержит одну строку, которая была выбрана во второй. И так постепенно таблица 3 заполняется. Внимание вопрос!

Как правильно заполнять 3ю таблицу ??
пример того, что мне нужно здесь

Моя наработка - здесь
Ответить с цитированием
  #2 (permalink)  
Старый 14.04.2009, 10:09
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

По поводу вашей наработки, не смог посмотреть, потому что после щелчка на списке(логика его появления мне непонятна), браузер вешается абсолютно.

Я так понимаю, по вашим словам, показывать во второй таблице товары в зависиомости от того, что в первой таблице вы уже научились?
И проблема только в заполнении третьей таблицы.
Например третью таблицу можно заполнять, просто перемещая туда туда соответсвующую строчку
table3.appendChild(elem)
//table3 - третья таблица
//elem - элемент, который надо переместить

Если строчку надо оставить во второй таблице, то лучше всего будет на лету создать новую строчку с необходимыми нам параметрами, и приатачить к третьей таблице
var new_elem=document.createElement('tr')
var td1=document.createElement('td')
td1.innerHTML=elem.cells[0].innerHTML
new_elem.appendChild(td1)
table3.appendChild(new_elem)
//table3 - третья таблица
//elem - элемент, который надо скопировать
// в данном случае в третью таблицу вставляется строчка с одной ячейкой-копией первой ячейки из второй таблицы

elem можно получить из обработчика события соответсвующей строки, а table3 любым из стандартных способов(например по id)

Для передачи на сервер обычным способом(формой), оборачиваем третью таблицу в форму, а в кажой строке храним скрытые input-ы в уникальным ID товара(ID не JS-овское, то, которое у вас на сервере в БД)
Ответить с цитированием
  #3 (permalink)  
Старый 14.04.2009, 10:21
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от Gvozd
то лучше всего будет на лету создать новую строчку с необходимыми нам параметрами, и приатачить к третьей таблице
Еще есть cloneNode:
Цитата:

Копирование: метод cloneNode()
Если мы хотим скопировать некоторый узел вместе со всеми его атрибутами, то надо воспользоваться методом cloneNode(). В качестве параметра метод принимает выражение типа Boolean. Если оно равно false, то копируется только тот узел, который активизирует метод. Если параметр метода равен true, то копируется узел вместе со всеми его потомками. Например, строка кода
var oClone = oList.cloneNode(true)
копирует в память всю ветвь дерева, начинающуюся на узле oList, то есть весь наш список целиком. Метод возвращает ссылку на копию узла. Используя эту ссылку, мы можем в дальнейшем работать с этой копией, например, отредактировать ее и вставить в документ.
Ответить с цитированием
  #4 (permalink)  
Старый 14.04.2009, 10:37
Аспирант
Отправить личное сообщение для madgals Посмотреть профиль Найти все сообщения от madgals
 
Регистрация: 27.12.2008
Сообщений: 53

Вторая табличка формируется с помощью jsHttpRequest. А повисло все видимо потому, что я так чего то намудрил некоторое время назад. А за совет - спасибо ) попробую наваять ближайшее время.
Ответить с цитированием
  #5 (permalink)  
Старый 14.04.2009, 10:41
Аспирант
Отправить личное сообщение для madgals Посмотреть профиль Найти все сообщения от madgals
 
Регистрация: 27.12.2008
Сообщений: 53

сейчас уже работает
Ответить с цитированием
  #6 (permalink)  
Старый 14.04.2009, 10:43
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Riim
Еще есть cloneNode:
это была моя первая мысль.
но глянув выдачу гугла по этому поводу,я нашел довольно свежие посты о том, что он не работает адеrватно в IE
не вникая в детали(мало ли вдруг там куча народу просто ошибается, и на самом деле все отлично работает), я предпочел описать более кросбразуерный метод копирования, который не преподнесет сюрпризов, потому что мы сами можем определить что копируем. Тем самым я уберег нервы ТС-а от возни с кросбраузерностью и ослом.
Ответить с цитированием
  #7 (permalink)  
Старый 14.04.2009, 22:30
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Я им даже ни разу не пользовался. Просто помню, что есть такой.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Блок выбора элементов из списка. Аля joblist Acrossfy Элементы интерфейса 3 26.03.2009 00:49