Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.02.2010, 02:06
Аспирант
Отправить личное сообщение для sniffysko Посмотреть профиль Найти все сообщения от sniffysko
 
Регистрация: 20.10.2009
Сообщений: 79

Как поменять местами элементы списка?
Имеется такой код ХТМЛ:
Код:
<ul>
	<li id="li_1">
		<a href="#" class="upper"  id="upper_1"></a>
		<a href="#" class="downer" id="downer_1"></a>
		<input type="text" name="name[1]" value="Тестик 1">
	<li id="li_2">
		<a href="#" class="upper"  id="upper_2"></a>
		<a href="#" class="downer" id="downer_2"></a>
		<input type="text" name="name[2]" value="Тестик 2">
	<li id="li_3">
		<a href="#" class="upper"  id="upper_3"></a>
		<a href="#" class="downer" id="downer_3"></a>
		<input type="text" name="name[3]" value="Тестик 3">
</ul>
Выглядит это примерно как на вложенном файле.

При помощи стрелок вверх и вниз хочется перемещать строки. Самое большее, что я придумал, это обменивать содержимое элементов LI. Но это не правильно, поскольку, сами LI не перемешаются, а перемещенный HTML код теряет обработчики событий.
Изображения:
Тип файла: gif form.gif (2.6 Кб, 8 просмотров)

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

http://javascript.ru/tutorial/dom
Ответить с цитированием
  #3 (permalink)  
Старый 16.02.2010, 02:38
Аспирант
Отправить личное сообщение для sniffysko Посмотреть профиль Найти все сообщения от sniffysko
 
Регистрация: 20.10.2009
Сообщений: 79

Эту штуку читал. Но не помогло. Подумал еще, пошукал и получилось вот что:
$(function(){
	$('.upper').click(move_up);
	$('.downer').click(move_down);

	function move_up(eventObject){
			var curr_li = $(this).parent();
			var prev_li = $(curr_li).prev();

			prev_li.insertAfter(curr_li);
	} 

	function move_down(eventObject){
			var curr_li = $(this).parent();
			var next_li = $(curr_li).next();

			next_li.insertBefore(curr_li);
	} 
});
Ответить с цитированием
  #4 (permalink)  
Старый 16.02.2010, 02:41
Аспирант
Отправить личное сообщение для sniffysko Посмотреть профиль Найти все сообщения от sniffysko
 
Регистрация: 20.10.2009
Сообщений: 79

Гы-гы. А внизу было еще похожее сообщение:
Jquery - поменять местами блоки
И решение предложено практически такое же.
Ответить с цитированием
  #5 (permalink)  
Старый 16.02.2010, 03:07
Аспирант
Отправить личное сообщение для sergdev Посмотреть профиль Найти все сообщения от sergdev
 
Регистрация: 08.12.2009
Сообщений: 32

Я в последнее время полюбил cloneNode и replaceNode
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Jquery - поменять местами блоки denlem jQuery 4 09.12.2010 16:00
Поменять слова местами iceman Общие вопросы Javascript 1 23.06.2009 16:14
Как заменить эл-ты одного списка эл-тами другого ? Mayar Элементы интерфейса 5 28.04.2009 11:21
Как поменять местами элементы в дереве элемента родителя? rar11 Events/DOM/Window 8 01.04.2009 18:53
Как поменять SRC у Img в Pocket IE Maxidrom Events/DOM/Window 2 08.10.2008 15:05