Показать сообщение отдельно
  #1 (permalink)  
Старый 06.02.2009, 17:20
Интересующийся
Отправить личное сообщение для barcelona Посмотреть профиль Найти все сообщения от barcelona
 
Регистрация: 06.02.2009
Сообщений: 23

Перемещение строк таблицы в Firefox
Здравствуйте!
В моей таблице содержаться checkbox-ы, в которых пользователь может ставить галочки и выбирать порядковые номера строчек. Далее при нажатии кнопки происходит сортировка строк таблицы с помощью jQuery. В Opera всё работает, в Firefox - нет. Вся страница исчезает, остаётся один checkbox, и страница "висит".
//Нужно отсортировать строки таблицы согласно seq
//Выбираем все отмеченные checkbox-ы, перемещать будем только эти строки
 var trs = Array();
 var i = 1;
$("input[type='checkbox'][name*='mod_']").each(function() {
   	if ($(this).attr("checked")) {
   	 //Если checkbox с таким индексом отмечен, возможно, придётся изменить порядок
   	 //i - порядковый номер строки в данный момент, (seq-1)
   	 var tr = $("table#modules tr:eq(" + i + ")");
   	 var seq = $("select[name*='seq']:eq(" + (i - 1) + ")").val();
   	if ((i-1) != seq) {
   		trs[seq-1] = tr;
   	}
      }
      i ++;
});

trs.sort();
 for (var seq = 0; seq < trs.length; seq ++) {
	var tr = trs[seq];
       tr.insertBefore($("table#modules tr:eq(" + (seq+1) + ")"));
}

Всё дело в предпоследней строчке. Если я вместо перемещаемого tr ставлю html-код - всё работает. Если выше вместо
var tr = $("table#modules tr:eq(" + i + ")");

я ставлю
var tr = $("table#modules tr:eq(" + i + ") td:eq(1) select");

(просто для примера) - всё работает, селект "переезжает" куда надо. А вот чтобы вся строчка - нет.
Ответить с цитированием