Программирование > JavaScript & JScript
убрать определнные строчки таблицы
golden-den:
Есть таблица
--- Код: ---
aaaaaaa
bbbbbbbbb
ccccccccccc
--- Конец кода ---
как сделать так, чтобы по нажатию на какой-нибудь ссылке скрывалась - вторая и третья строчка
Дело в том, что если сделать так:
.....
а затем скрипт делает style.display="none";
то все работает, а вот если ...
то не работает
пробовал getElementById - не получается
CGVictor:
golden-den
???
golden-den:
так работает.
А если надо сразу несколько ячеек скрыть?
(вариант с прописыванием нескольких 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:
golden-den
Вариант 1 - размечать div вокруг tr. Однако не кошерно (table div-ами рвется)
Вариант 2 - отдельную таблицу в div. Однако распухает код.
Вариант 3 - вообще без таблицы, но гемор с выравниванием.
Вариант 4 - делать getElementsByClassName и прописывать ID в класс, но это порнография.
golden-den:
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
то есть, если в подуровне значение содержит "родительское-текущее-верхнего уровня" значение, то скрываем,
и все это в цикл
Навигация
Перейти к полной версии