[Nur noch 1 Problem] Enrico: Filterung eines mehrdimensionalen Arrays

Beitrag lesen

Sodalla, Ausgabe der Tabelle über DOM funktioniert, die Sortier-Funktion ebenfalls, die Filter-Funktion an sich auch (habe die gefilterten Werte über den "alert"-Befehl ausgeben lassen und die passen), einzig und allein die Anzeige der gefilterten Einträge klappt nicht, d.h. es wird scheinbar keine neue Tabelle generiert.

Auch habe ich es noch nicht geschafft, "appendChild" gegen "replaceChild" auszutauschen, weil hier ja zwei Werte erwartet werden, ich aber nur einen Wert "Container" habe.

Aber ich muß hier ja "replace..." verwenden, da sonst die neue Tabelle wieder nur an die "alte" angehängt werden dürfte.

Hier nochmal die beiden Funktionen:

function Tabelle_ausgeben(Inhalt)
   {
     var Tabelle = document.createElement("table");
     var Tabellenkopf = document.createElement("thead");
     var Tabellenkoerper = document.createElement("tbody");
     var Zeile, Zelle;
     var i, j;

var Spaltenbeschriftung = new Array();

Spaltenbeschriftung[0] = "DVD-Nr.";
     Spaltenbeschriftung[1] = "Titel";
     Spaltenbeschriftung[2] = "Inhalt";
     Spaltenbeschriftung[3] = "Genre";
     Spaltenbeschriftung[4] = "FSK";

Tabelle.setAttribute("class", "sortable");
     Tabelle.appendChild(Tabellenkopf);
     Tabelle.appendChild(Tabellenkoerper);

Zeile = document.createElement("tr");
     Tabellenkopf.appendChild(Zeile);
     Tabellenkopf.setAttribute("bgColor","lightskyblue");

for (i=0; i<Spaltenbeschriftung.length; i++)
     {
       Zelle = document.createElement("th");
       Zelle.innerHTML = (Spaltenbeschriftung[i]);

Zelle.i

if (i != 2)
       {
         Zelle.setAttribute("style", "cursor:pointer");
         Zelle.onclick = function(e)
         {
           sortTable(this);
         }
       }

Zeile.appendChild(Zelle);
     }

for (i=0; i<Inhalt.length; i++)
     {
       Zeile = document.createElement("tr");
       Tabellenkoerper.appendChild(Zeile);

for (j=0; j<Inhalt[i].length; j++)
       {
         Zelle = document.createElement("td");

if ((j==1) || (j == 3))
         {
           Zelle.style.whiteSpace = "nowrap";
         }

Zelle.innerHTML = Inhalt[i][j];
         Zeile.appendChild(Zelle);
       }
     }

document.getElementById("Container").appendChild(Tabelle);
   }

function Anzeige_filtern(Film,Kriterium)
   {
     var Temp = new Array();

for (var i = 0; i < Film.length; i++)
     {
       if(Film[i][1].substring(0,1)==Kriterium)
       {
         Temp[Temp.length]=[Film[i][0], Film[i][1], Film[i][2], Film[i][3], Film[i][4]];
       }
     }

Tabelle_ausgeben(Temp);
   }

So kurz vor der Ziellinie noch irgendein Problem, das ist sehr ärgerlich...

Vielen Dank für Eure Hilfe, habt mir so schon riesig geholfen.

Gruß,
Enrico