• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Javascript dynamische tabelle "hide" und "show" klassen

Caan069

Neues Mitglied
Moin leude, :)

Ich hab ein kleines Problem unzwar...

ich lasse mir von Javascript eine dynamische tabelle erzeugen. Die Tabelle wird mit einem click aufs input feld erzeugt und angezeigt. Soweit so gut aber das Problem ist jetzt das bei jedem click aufs input feld immer eine neue Tabelle erzeugt wird. Es soll so sein das beim ersten click die tabelle angezeigt wird und beim zweitenmal clicken die tabelle verschwindet.

function tableActivate() {
document.getElementById('month-plus').style.cssText = 'display: block';
document.getElementById('month-minus').style.cssText = 'display: block';
document.getElementById("input-feld").focus(tableCreate());
if(document.getElementsByTagName("table")[0].className=="hide" || document.getElementsByTagName("table")[0].className=="" ){
document.getElementsByTagName("table")[0].className="show";
}else{
document.getElementsByTagName("table")[0].className="hide";
}
}


Hab der Tabelle beim aufruf noch die Klassen "Show" und "Hide" gegeben. Ich hoffe ich kann das mit einbringen :eek:
 
Werbung:
Doch, aber nach zweimaligem Lesen deiner Frage hatte ich immer noch keine Lust. Widersprüchliche Problembeschreibung und unvollständiger Code.

document.getElementById("input-feld").focus(tableCreate());
Was tableCreate() macht, weißt nur du alleine.

Die Tabelle wird mit einem click aufs input feld erzeugt und angezeigt.
Was nun, erzeugt oder angezeigt? Das erste entspricht dem kreiieren eines DOM Nodes, das zweite dem switchen eines Style-Attributes.

Es soll so sein das beim ersten click die tabelle angezeigt wird und beim zweitenmal clicken die tabelle verschwindet.
Heißt jetzt löschen aus dem DOM oder unsichtbar machen?

Ich werde dir deinen Code nicht schreiben, aber kann dir Hilfe zur Selbsthilfe geben. Wenn du darauf Bock hast, sage Bescheid.
 
Werbung:
Javascript:
function tableActivate() {
document.getElementById('month-plus').style.cssText = 'display: block';
document.getElementById('month-minus').style.cssText = 'display: block';
document.getElementById("input-feld").focus(tableCreate());
if(document.getElementsByTagName("table")[0].className=="hide" || document.getElementsByTagName("table")[0].className=="" ){
document.getElementsByTagName("table")[0].className="show";
}else if(document.getElementsByTagName("table")[0].className=="show"){
document.getElementsByTagName("table")[0].className="hide";
}
}
Allerdings wissen wir nichts über die Funktion,die die Tabelle beim ersten mal erzeugt,und können dir so nicht weiterhelfen.
Folgendes müsste aber gehen:
schreibe nach function tableCreate(){
Javascript:
if(!document.getElementsByTagName("table")[0]){
und am Ende der Funktion die schließende Klammer "}".
 
Zurück
Oben