Hi,
ich habe folgende Methode geschrieben, mit deren Hilfe ich Tabellenspalten ausblenden will, indem ich auf die entsprechende Zelle in der TH-Zeile klicke.
Diese Funktion funktioniert leider nicht, da scheinbar zufällig Zellen ausgeblendet werden, nur nicht die, deren Index ich übergebe.
Ich bin für jede Hilfe dankbar, da ich an dem Problem schon seit einiger Zeit sitze und ich bald eine Lösung brauche.
Vielen Dank
Heiko
PS: Ich habe mich schon durch etliche Foren, google und auch durch selfhtml gewühlt und bin nicht weitergekommen.
function umschalten(ums_index){
var ums_celzahl = document.getElementsByTagName("th").length;
//Vectorgroeße
var ums_vecSize = <%=rvec.size()%>;
var ums_action = "none";
//-1 bedeutet: Aufruf aus der Select Liste
if(ums_index == -1){
ums_index = document.forms[0].B002SelSpalte.options[document.forms[0].B002SelSpalte.selectedIndex].value;
document.forms[0].B002SelSpalte.options[document.forms[0].B002SelSpalte.selectedIndex] = null;
document.forms[0].B002SelSpalte.selectedIndex = -1;
}
else{
var ums_knoten = document.getElementsByTagName("th")[ums_index].childNodes;
var ums_value = "";
for(var z=0; z<ums_knoten.length; z++){
if(ums_knoten[z].nodeType == "3"){
var ums_value = ums_value + " " + ums_knoten[z].data;
}
}
neueOption = new Option(ums_value,ums_index,false,false);
document.forms[0].B002SelSpalte.options[document.forms[0].B002SelSpalte.length] = neueOption;
document.forms[0].B002SelSpalte.selectedIndex = -1;
}
if(document.getElementsByTagName("th")[ums_index].style.display == "none"){
ums_action = "inline";
}
document.getElementsByTagName("th")[ums_index].style.display = ums_action;
alert(ums_celzahl + " "+ ums_index );
var td = "";
for(var i=0; i<ums_vecSize;i++){
td = document.getElementsByTagName("td")[ums_index];
if(td.className == "OkTabStdUmschaltbar" || td.className == "OkTabStdLeft"){
document.getElementsByTagName("td")[ums_index].style.display = ums_action;
//alert(td.className + "" + ums_index);
}
ums_index = ums_index*1 + ums_celzahl*1;
}
if(document.forms[0].B002SelSpalte.length>0){
document.forms[0].B002SelSpalte.style.display = "inline";
}
else{
document.forms[0].B002SelSpalte.style.display = "none";
}
}