tabellenspalten/-zeilen auf klick anzeigen

steffipfahler

Grünschnabel
Hhallöschen zusammen,

nochmals vielen Dank für die prompte und erfolgreiche Hilfe nach meinem letzten Posting ;)

Ich habe mal wieder ein kleines Problem:

Ist es möglich, in einer Tabelle, die bspw. 10 Spalten hat, beim Laden der Seite nur die ersten 4 Spalten anzuzeigen, den Rest auf Knopfdruck - am besten, ohne die Seite neu zu laden.
D.h. die letzten 6 Spalten dürfen ruhig schon beim ersten mal mitgeladen werden, nur halt nicht zur Anzeige kommen - bis der Anwender auf einen Button klickt...
Das selbe im Prinzip auch für Zeilen - allerdings nicht beide Versionen kombiniert ;)

merci vielmals vorab

Steffi
 
Zuletzt bearbeitet:
Ja, das ist möglich.

Gebe den Zellen bzw. Zeilen, welche nicht erscheinen sollen, das CSS-Format "display:none".
Um diese nun anzuzeigen, ändere diese Eigenschaft, indem du ihr nichts zuweist...also eine leere Zeichenkette.

Um dies zu bequem zu erledigen, kannst du auf die rows-Eigenschaft einer Tabelle bzw. die cells-Eigenschaft einer Reihe zurückgreifen....
 
Hy Sven,
danke erstmal für deinen lösungsansatz!
und wie übergebe ich den neuen Wert an die Spalten? Müsste ich ja mit einem Button, der ein 'onclick'-Event abfeuert, hinkiregen - oder?
Merci!
Steffi
 
Die Funktion könnte bspw. so aussehen:
Code:
<script type="text/javascript">
<!--
function alles_zeigen(strId)
{
objTbl = document.getElementById(strId);
    for(r = 0; r < objTbl.rows.length; ++r)
        {
            objTbl.rows[r].style.display = '';
            
            for(c = 0; c < objTbl.rows[r].cells.length; ++c)
                {
                    objTbl.rows[r].cells[ c].style.display = '';
                }
        }
}
//-->
</script>
als Parameter erwartet sie die ID der Tabelle, welche komplett gezeigt werden soll.

Die Funktion bewirkt, dass die display-Eigenschaft aller <tr> und <td> "geleert" wird.. wodurch sie dann angezeigt werden.
 

Neue Beiträge

Zurück