Здравствуйте!
В моей таблице содержаться 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");
(просто для примера) - всё работает, селект "переезжает" куда надо. А вот чтобы вся строчка - нет.