Возле каждой цифры стоит ссылка которая должна скрывать дочерние узлы. Причем вложенность может быть произвольной. А список выводится из базы... Вот и проблема в том, как показать каждому элементу, какие у него дочерние Причем верстка делается как таблица и в кажой строчке свой отступ, поэтому вопрос - как скрыть несколько строк?
Название: убрать определнные строчки таблицы
Отправлено: CGVictor от 06 Декабря 2005, 16:57:49
golden-den Вариант 1 - размечать div вокруг tr. Однако не кошерно (table div-ами рвется) Вариант 2 - отдельную таблицу в div. Однако распухает код. Вариант 3 - вообще без таблицы, но гемор с выравниванием. Вариант 4 - делать getElementsByClassName и прописывать ID в класс, но это порнография.
Название: убрать определнные строчки таблицы
Отправлено: golden-den от 06 Декабря 2005, 17:04:37
CGVictor вариант 1 - не работает вариант 2 - работает но не до конца тогда догадался как сделать, чтобы много ячеек сразу скрывавлось 3 и 4 даже не пробовал
сегодня получилось вот так сделать:
function switch_menu (count) { var tbl_start = \'table[\'+count+\']\'; var tbl_start_el = document.getElementById(tbl_start); var tbl_start_val=tbl_start_el.value; var q=document.step1_form.elements.length; var next = true; var action_know = false; var i = count +1; while (next){ var tbl_cur = \'table[\'+i+\']\'; var tbl_cur_el = document.getElementById(tbl_cur); var tbl_cur_val=tbl_cur_el.value; if (tbl_cur_val.indexOf(tbl_start_val) >=0 ){ //alert("tbl_start="+tbl_start_val + " tbl_cur="+tbl_cur_val + " YES"); var tag = "tr"+i; tag_el = document.getElementById(tag); if (!action_know) { if (tag_el.style.display == "inline" || tag_el.style.display == "") {action_do="none";} else {action_do = "inline";}; action_know = true; } tag_el.style.display = action_do; //alert (q + " > "+ (4*i+1)); if (q>(4*i+2)) { i++; } else {next=false;}; } // if else {next=false;}; }; // while
};
у каждой ячейки шв прописал
ввел скрытое поле со значением table
значение table как раз принимает: 1_1 1_1_1 1_1_2
то есть, если в подуровне значение содержит "родительское-текущее-верхнего уровня" значение, то скрываем, и все это в цикл
Название: убрать определнные строчки таблицы
Отправлено: golden-den от 06 Декабря 2005, 17:06:41
только теперь проблема с firefox - не правильно реагирует на style.display = "inline" - портится таблица, когда снова отображаешь страницу (есть тема на этом форуме такая"проблема с firefox")
Название: убрать определнные строчки таблицы
Отправлено: CGVictor от 06 Декабря 2005, 17:08:25
golden-den Гм..
Второй вариант -
...
Неплохо работает четвертый. Но это не долго продлится. Я пользуюсь вторым и третьим.
Название: убрать определнные строчки таблицы
Отправлено: CGVictor от 06 Декабря 2005, 17:09:26
golden-den А почему не "block"?? Inline - вообще атрибут капризный...
Название: убрать определнные строчки таблицы
Отправлено: commander от 06 Декабря 2005, 17:13:39
golden-den за кроспостинг можно и по рукам настучать!
Название: убрать определнные строчки таблицы
Отправлено: golden-den от 06 Декабря 2005, 18:58:54
b][CGVictor[/b] пробовал и block и другие значения - просто перебором - ни один вариант не сработал
commander Не хотел, просто при решении проблемы возникли 2, как я думал, разных вопроса, которые не пересекутся так явно...
в том посте про firefox, а здесь про id, деревья и тд
Название: убрать определнные строчки таблицы
Отправлено: golden-den от 07 Декабря 2005, 00:52:15
все решилось следующим образом if (navigator.appName == "Netscape") {style.display = "table-row" } else {style.display = "block"}
Название: убрать определнные строчки таблицы
Отправлено: CGVictor от 08 Декабря 2005, 23:05:08
golden-den А, ну, в принципе, так и должно быть [off]просто я уже сто лет ничего не писал под NN[/off]
[off][moderatorial][/off] commander Может, тему в FAQ положить?...
Название: убрать определнные строчки таблицы
Отправлено: Макс от 09 Декабря 2005, 10:37:56
Цитировать
CGVictor: [moderatorial] commander Может, тему в FAQ положить?...
Добавил в фак. ИМХО можешь сам решать, надо добавлять тему или нет. Ты ведь тоже модератор.
Название: убрать определнные строчки таблицы
Отправлено: CGVictor от 09 Декабря 2005, 11:06:59
[off]Макс Да неудобно как-то...прямо вот так самому..лучше спросить у собратьев по цеху...[/off]
Название: убрать определнные строчки таблицы
Отправлено: commander от 09 Декабря 2005, 12:56:55