Перемещение строк таблицы в 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"); (просто для примера) - всё работает, селект "переезжает" куда надо. А вот чтобы вся строчка - нет. |
приведи код полноценной странички (http://javascript.ru/paste), чтобы можно было скопировать и посмотреть, в чем проблема
|
Всё, я разобрался. Дело было в том, что в строчке стояло
<script></script>. Убрал - заработало. Конечно, хотелось бы обойти это, но... |
[telepat mode]
'<script><'+'/script>'[/telepat mode] |
x-yuri, скажите пожалуйста поподробнее, в чём фокус? Я вывожу строки таблицы следующим образом:
<tr> <td> <input style="width:18%" type="checkbox" name="<?php echo "mod_".$mm->getIdModule() ?>" checked value="1" /><?php echo $mm->getName(); ?> </td> <td><?php echo '<script>drawModuleSeq('.$countM.')</script>'; ?></td> <td><?php echo '<script>drawModulePlace('.$mm->place.')</script>'; ?></td> </tr> |
barcelona, не угадал. Можешь выложить страницу полностью, чтобы можно было самому попробовать? (сюда)
|
x-yuri, я загрузил "Код 49919144", адрес "http://javascript.ru/paste/49919144".
В начале подключается jquery. Этот код рабочий. А вот здесь - "http://javascript.ru/paste/4991962c" нерабочий. Разница - только в наличии тегов "script" во втором столбце каждой строчки. Версия Firefox - 3.0.3 |
barcelona,
в чем великий смысл делать ссылки не кликабельными? Вас прет выделение-копирование-новая_вкладка-вставка-ентер? |
Kolyaj, я новичок на форуме. Исправляюсь:
http://javascript.ru/paste/49919144 - рабочий код. http://javascript.ru/paste/4991962c - нерабочий. |
все-таки я был прав, у тебя в скрипте были обнаружены незакрытые тэги (</option>, </select>)
это быть не должно (http://www.w3.org/TR/html401/interac...ml#edef-SCRIPT -> http://www.w3.org/TR/html401/sgml/dtd.html#Script -> http://www.w3.org/TR/html401/types.html#type-cdata): Цитата:
p.s. советую пользоваться каким-нибудь валидатором. Например, к firefox есть плагин HtmlValidator, Опера позаволяет отправлять текущую страницу на валидации или http://validator.w3.org/. Ты бы сам тогда смог решить свою проблему ;-) p.p.s. обычно приемлемо не использовать document.write (т.е. вносить изменения по onload), думаю |
Часовой пояс GMT +3, время: 12:01. |