Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Перемещение строк таблицы в Firefox (https://javascript.ru/forum/jquery/2748-peremeshhenie-strok-tablicy-v-firefox.html)

barcelona 12.02.2009 18:35

Профессор, я глубоко признателен Вам за помощь. Вы не могли бы объяснить мне ещё одну деталь? Код, генерирующий список:
function drawModuleSeq(count, index, nameMod) {
            document.write("<select name=\"" + nameMod + "\">"); 
            for (i = 0; i < count; i++) {
              add = "";
              if (i == index) add = " selected=\"selected\"";
              document.write("<option value=\""+(i+1)+"\""+add+">"+(i+1)+"</option>");
            }
            document.write("</select>");
          }

вроде бы закрывает все option-ы и select-ы. Вы написали
Цитата:

соответственно можно писать '</option>' -> '<'+'/option>' или '<\/option>'
А почему? Чем '</option>' отличается от '<'+'/option>?Извините за назойливость.

x-yuri 12.02.2009 19:13

давай без профессора и на ты лучше ;-) это звание не я себе присвоил
а ты бы перевел хоть тот кусок, который я процитировал. Там все описано

Андрей Параничев 12.02.2009 19:18

barcelona,
Зачем столько раз писать в документ?

function drawModuleSeq(count, index, nameMod) {
            var content = "<select name=\"" + nameMod + "\">"; 
            for (i = 0; i < count; i++) {
              add = "";
              if (i == index) add = " selected=\"selected\"";
              content += "<option value=\""+(i+1)+"\""+add+">"+(i+1)+"<"+"/option>";
            }
            content += "<"+"/select>";

            document.write(content);
          }

x-yuri 12.02.2009 19:31

barcelona, и еще... не используй экранирование, если оно не нужно... это называется синдром зубочистки ("<select name=\"" -> '<select name="')

barcelona 13.02.2009 13:08

x-yuri, спасибо.
Теперешний код валидацию прошёл, а вот работать что-то не хочет.. Если выбирать все элементы из списка, на каком-либо, да Firefox затирает код... У меня уже спортивный интерес появился, вроде и через PHP можно сделать, а всё равно хочу понять в чём дело, почему javascript+firefox так не хотят ладить.

x-yuri 13.02.2009 22:46

barcelona, можешь для начала прочитать http://webew.ru/articles/598.webew

проблема в insertAfter. Это можно выяснить с помощью ff + firebug + console.log (выводит из скрипта информацию на вкладку консоль). Она не выполняется даже один раз, если выбрать "Неосновной". Я еще, скорее всего, попробую разобраться

p.s. у массивов есть такой метод - push, он позволяет избежать всяких проверок на undefined ;-)

barcelona 16.02.2009 10:52

x-yuri, спасибо, что пытаешься помочь.

x-yuri 23.02.2009 15:41

в общем, по-крайней мере разобрался, в каком месте он ff "подвисает". Теперь твоя очередь ;-)

p.s. скорее всего это баг, но полезно знать, что именно происходит "за сценой" (во время выполнения insertAfter)


Часовой пояс GMT +3, время: 23:22.