Автор Тема: убрать определнные строчки таблицы  (Прочитано 8212 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн golden-den

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 118
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kosmos13.narod.ru
Есть таблица











aaaaaaa
bbbbbbbbb
ccccccccccc





как сделать так, чтобы по нажатию на какой-нибудь ссылке скрывалась - вторая и третья строчка

Дело в том, что если  сделать  так:

.....


а затем скрипт делает style.display="none";

то все работает, а вот если
...

то не работает

пробовал getElementById - не получается

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
убрать определнные строчки таблицы
« Ответ #1 : 05 Декабря 2005, 17:00:44 »
golden-den
???
LJ: Backslashed life (rss)

Оффлайн golden-den

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 118
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kosmos13.narod.ru
убрать определнные строчки таблицы
« Ответ #2 : 05 Декабря 2005, 17:21:15 »
так работает.
А если надо сразу несколько ячеек скрыть?
(вариант с прописыванием нескольких id в функции не пойдет)

Есть древовидный список:
1.
   1.1.
      1.1.1.
   1.2.
      1.2.1.
      1.2.2.
      1.2.3.
      1.2.4.
      1.2.5.
2.
   2.1.
   2.2.


Возле каждой цифры стоит ссылка которая должна скрывать дочерние узлы. Причем вложенность может быть произвольной.
А список выводится из базы...
Вот и проблема в том, как показать каждому элементу, какие у него дочерние
Причем верстка делается как таблица и в кажой строчке свой отступ, поэтому вопрос - как скрыть несколько строк?

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
убрать определнные строчки таблицы
« Ответ #3 : 06 Декабря 2005, 16:57:49 »
golden-den
Вариант 1 - размечать div вокруг tr. Однако не кошерно (table div-ами рвется)
Вариант 2 - отдельную таблицу в div. Однако распухает код.
Вариант 3 - вообще без таблицы, но гемор с выравниванием.
Вариант 4 - делать getElementsByClassName и прописывать ID в класс, но это порнография.
LJ: Backslashed life (rss)

Оффлайн golden-den

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 118
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kosmos13.narod.ru
убрать определнные строчки таблицы
« Ответ #4 : 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

};

</script>


у каждой ячейки шв прописал
ввел скрытое поле со значением table

значение table как раз принимает:
1_1
1_1_1
1_1_2

то есть, если в подуровне значение содержит "родительское-текущее-верхнего уровня" значение, то скрываем,
и все это в цикл

Оффлайн golden-den

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 118
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kosmos13.narod.ru
убрать определнные строчки таблицы
« Ответ #5 : 06 Декабря 2005, 17:06:41 »
только теперь проблема с firefox - не правильно реагирует на
style.display = "inline" - портится таблица, когда снова отображаешь страницу (есть тема на этом форуме такая"проблема с firefox")

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
убрать определнные строчки таблицы
« Ответ #6 : 06 Декабря 2005, 17:08:25 »
golden-den
Гм..

Второй вариант -



...


Неплохо работает четвертый. Но это не долго продлится.
Я пользуюсь вторым и третьим.
LJ: Backslashed life (rss)

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
убрать определнные строчки таблицы
« Ответ #7 : 06 Декабря 2005, 17:09:26 »
golden-den
А почему не "block"?? Inline - вообще атрибут капризный...
LJ: Backslashed life (rss)

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
убрать определнные строчки таблицы
« Ответ #8 : 06 Декабря 2005, 17:13:39 »
golden-den
за кроспостинг можно и по рукам настучать!
And no religion too...

Оффлайн golden-den

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 118
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kosmos13.narod.ru
убрать определнные строчки таблицы
« Ответ #9 : 06 Декабря 2005, 18:58:54 »
b][CGVictor[/b]
пробовал и block и другие значения - просто перебором - ни один вариант не сработал


commander
Не хотел, просто при решении проблемы возникли 2, как я думал, разных вопроса, которые не пересекутся так явно...

в том посте про firefox, а здесь про id, деревья и тд

Оффлайн golden-den

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 118
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kosmos13.narod.ru
убрать определнные строчки таблицы
« Ответ #10 : 07 Декабря 2005, 00:52:15 »
все решилось следующим образом
if (navigator.appName == "Netscape") {style.display = "table-row" }
 else {style.display = "block"}

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
убрать определнные строчки таблицы
« Ответ #11 : 08 Декабря 2005, 23:05:08 »
golden-den
А, ну, в принципе, так и должно быть
[off]просто я уже сто лет ничего не писал под NN[/off]

[off][moderatorial][/off]
commander
Может, тему в FAQ положить?...
LJ: Backslashed life (rss)

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
убрать определнные строчки таблицы
« Ответ #12 : 09 Декабря 2005, 10:37:56 »
Цитировать
CGVictor:
[moderatorial] commander Может, тему в FAQ положить?...

Добавил в фак.
ИМХО можешь сам решать, надо добавлять тему или нет. Ты ведь тоже модератор.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
убрать определнные строчки таблицы
« Ответ #13 : 09 Декабря 2005, 11:06:59 »
[off]Макс
Да неудобно как-то...прямо вот так самому..лучше спросить у собратьев по цеху...[/off]
LJ: Backslashed life (rss)

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
убрать определнные строчки таблицы
« Ответ #14 : 09 Декабря 2005, 12:56:55 »
CGVictor
я не против...
And no religion too...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28