ERLEDIGT
JA
JA
ANTWORTEN
22
22
ZUGRIFFE
871
871
EMPFEHLEN
-
11.05.08 13:13 #1
- Registriert seit
- Mar 2005
- Beiträge
- 743
Hallo,
ich will folgendes erreichen:
wenn ich in einer Link clicke dann öffnet alle tabellen zeilen die darunter stehen, wenn ich noch einmal clicke dann schließt wieder diese zeilen. Wie kann ich so etwas in Java Script erreichen?
Ich habe mit so etwas ausprobiert:
<script type="text/javascript" language="JavaScript">
function toggleDivVisibility(_div) {
if (_div.style.display=="none") {
_div.style.display="block";
} else {
_div.style.display="none";
}
}
</script>
Aber wie soll diese Funktion wissen, welche Zeilen ein oder ausgeblendet werden?
Danke
-
Vielleicht hilft dir das hier:
HTML-Code:<html> <head> <title>Test</title> <script type="text/javascript"> function toggle(id) { var a = document.getElementById(id); if(a.style.visibility == "hidden") { a.style.visibility = "visible"; } else {a.style.visibility = "hidden";} } </script> </head> <body> <div id="zeile" OnClick="toggle(this.id);">Text</div> </body></html>
-
11.05.08 14:03 #3Maik Tutorials.de Gastzugang
Hi,
ansonsten schau dir mal Expandable "Detail" Table Rows an.
-
11.05.08 19:59 #4
- Registriert seit
- Mar 2005
- Beiträge
- 743
Hallo,
kannst du bitte auch ein Beispiel mit Tabellen machen? Ich will einfach in ein Link clicken dann soll die Zeilen ausgeblendet werden.
Danke
-
11.05.08 23:25 #5
- Registriert seit
- Feb 2008
- Ort
- Pocking (Bayern)
- Beiträge
- 207
Schau dir mal das hier an: http://www.tutorials.de/forum/javasc...roperties.html
Guck mal auf Deiner Tastatur, da finden sich 2 Shift-Tasten. Die sind nicht dazu da ignoriert zu werden.;)
-
12.05.08 00:26 #6
- Registriert seit
- Mar 2005
- Beiträge
- 743
Hallo,
ich habe es soweit bekommen:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
<html> <head> <title>Test</title> <script type="text/javascript"> function toggle(id) { var a = document.getElementById(id); if(a.style.visibility == "hidden") { a.style.visibility = "visible"; } else {a.style.visibility = "hidden";} } </script> </head> <body> <div id="zeile" OnClick="toggle(this.id);">Text <table border="1"> <tr> <th>Berlin</th> <th>Hamburg</th> <th>München</th> </tr> <tr> <td>Miljöh</td> <td>Kiez</td> <td>Bierdampf</td> </tr> <tr> <td>Buletten</td> <td>Frikadellen</td> <td>Fleischpflanzerl</td> </tr> </table> </body> </html>
Aber Text sollte als Link erscheinen und wenn man drauf drückt dann sollte tabelle eingeblendet werden. Und wenn man nocheinmal drauf clickt dann sollte die Tabelle ausgeblendet werden. Aber ich kriege es irgendwie nicht hin. Text wird nicht als Hyperlink dargestellt und es wird auch ausgeblendet. Bitte hilft mir.
-
12.05.08 00:54 #7
- Registriert seit
- Feb 2008
- Ort
- Pocking (Bayern)
- Beiträge
- 207
So gehts:
HTML-Code:<html> <head> <title>Test</title> <script type="text/javascript"> function toggle(id) { var a = document.getElementById(id); if(a.style.display == "") { a.style.display = "none"; } else { a.style.display = ""; } } </script> </head> <body> <a href="#" OnClick="toggle('zeile');">Text</a> <div id="zeile"> <table border="1"> <tr> <th>Berlin</th> <th>Hamburg</th> <th>München</th> </tr> <tr> <td>Miljöh</td> <td>Kiez</td> <td>Bierdampf</td> </tr> <tr> <td>Buletten</td> <td>Frikadellen</td> <td>Fleischpflanzerl</td> </tr> </table> </body> </html>
Guck mal auf Deiner Tastatur, da finden sich 2 Shift-Tasten. Die sind nicht dazu da ignoriert zu werden.;)
-
12.05.08 13:16 #8
- Registriert seit
- Mar 2005
- Beiträge
- 743
Hallo zuerst danke,
warum geht es denn folgende Code nicht?
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
<script type="text/javascript" language="JavaScript"> function toggle(id) { var a = document.getElementById(id); if(a.style.display == "") { a.style.display = "none"; } else { a.style.display = ""; } } </script><table border="0" cellspacing="0" width="100%"> <colgroup> <col width="10%"> <col width="20%"> <col width="50%"> <col width="10%"> <col width="10%"> </colgroup> <tr valign="top" class="unittests-sectionheader" align="left"> <th colspan="2">Name</th><th>Kommentar</th><th>Status</th><th nowrap="nowrap">Time(s)</th> </tr> <tr class="unittests-title"> <td colspan="5"><a href="#" OnClick="toggle('zeile');">.Testen</a></td> </tr> <div id="zeile"> <tr class="unittests-data"> <td> </td><td>testeMal</td><td></td><td>Success</td><td>6.670</td> </tr> </div> <tr class="unittests-data"> <td colspan="2"> </td><td> </td><td> </td><td> </td> </tr> <tr> <td colspan="5"> </td> </tr> </table>
Es funktioniert irgendwie nicht. Warum?
-
12.05.08 13:25 #9Maik Tutorials.de Gastzugang
Hi,
das div-Element ist kein Nachbarelement des tr-Elements, und hat somit an dieser Stelle des Quelltextes nichts zu suchen.
Lösung: Entferne es vollständig aus dem Markup und ruf stattdessen die ID #zeile direkt in der Tabellenzeile auf.
-
12.05.08 13:48 #10
- Registriert seit
- Mar 2005
- Beiträge
- 743
Hallo,
ich habe wie folgt geändert, aber es geht immer noch nicht:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
<script type="text/javascript" language="JavaScript"> function toggle(id) { var a = document.getElementById(id); if(a.style.display == "") { a.style.display = "none"; } else { a.style.display = ""; } } </script><table border="0" cellspacing="0" width="100%"> <colgroup> <col width="10%"> <col width="20%"> <col width="50%"> <col width="10%"> <col width="10%"> </colgroup> <tr valign="top" class="unittests-sectionheader" align="left"> <th colspan="2">Name</th><th>Kommentar</th><th>Status</th><th nowrap="nowrap">Time(s)</th> </tr> <tr class="unittests-title"> <td colspan="5"><a href="#" OnClick="toggle('zeile');">.TestMenu</a></td> </tr> <tr id="zeile" class="unittests-data"> <td> </td><td>TestMenus</td><td></td><td>Success</td><td>46.415</td> </tr> <tr id="zeile" class="unittests-data" bgcolor="#EEEEEE"> <td> </td><td>MenuTest</td><td></td><td>Success</td><td>31.945</td> </tr> <tr id="zeile" class="unittests-data"> <td colspan="2"> </td><td> </td><td> </td><td> </td> </tr> <tr id="zeile"> <td colspan="5"> </td> </tr> </table>
-
12.05.08 13:53 #11Maik Tutorials.de Gastzugang
Entgegen deinem letzten Quellcode rufst du die ID nun in mehreren Zeilen auf, was aber auch nicht regelkonform ist, da eine ID im HTML-Dokument eindeutig sein muss, sprich darin nicht mehrmals vergeben werden darf.
Folglich blenden die Browser auch nur die erstgenannte Zeile mit der ID #zeile ein und aus.
-
12.05.08 13:54 #12
- Registriert seit
- Mar 2005
- Beiträge
- 743
Hallo,
wie kann ich denn oberen Code so strukturieren, dass es funktioniert? Hilf mir bitte.
-
12.05.08 14:00 #13Maik Tutorials.de Gastzugang
Indem du die Tabelle an dieser Stelle verschachtelst, also in der Tabellenzelle td dieser Tabellenzeile eine weitere Tabelle einbettest, die die Zeilen (ohne ID!) enthält, die ein- und ausgeblendet werden sollen.
-
12.05.08 14:15 #14Maik Tutorials.de Gastzugang
Das Ganze würde dann in der Praxis so aussehen:
P.S. Wenn du dich meiner eingangs des Themas empfohlenen Technik bedienst, sind diese Um- und Ausbaumaßnahmen im bestehenden HTML-Code überhaupt nicht erforderlichCode :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
<table border="0" cellspacing="0" width="100%"> <colgroup> <col width="10%"> <col width="20%"> <col width="50%"> <col width="10%"> <col width="10%"> </colgroup> <tr valign="top" class="unittests-sectionheader" align="left"> <th colspan="2">Name</th><th>Kommentar</th><th>Status</th><th nowrap="nowrap">Time(s)</th> </tr> <tr class="unittests-title"> <td colspan="5"><a href="#" onclick="toggle('zeile');">.TestMenu</a></td> </tr> [b]<tr id="zeile"> <td colspan="5"> <table width="100%"> <tr class="unittests-data"> <td> </td><td>TestMenus</td><td> </td><td>Success</td><td>46.415</td> </tr> <tr class="unittests-data" bgcolor="#EEEEEE"> <td> </td><td>MenuTest</td><td> </td><td>Success</td><td>31.945</td> </tr> <tr class="unittests-data"> <td colspan="2"> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td colspan="5"> </td> </tr> </table> </td> </tr>[/b] </table>
-
12.05.08 16:32 #15
- Registriert seit
- Mar 2005
- Beiträge
- 743
Hallo,
wenn ich auf den Link clicke dann wird die untere Zeilen ineinander bzw. zusammen geschoben:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
<script type="text/javascript" language="JavaScript"> function toggleDivVisibility(_div) { if (_div.style.display=="none") { _div.style.display="block"; } else { _div.style.display="none"; } } </script><table border="0" cellspacing="0" width="100%"> <colgroup> <col width="10%"> <col width="20%"> <col width="50%"> <col width="10%"> <col width="10%"> </colgroup> <tr valign="top" class="unittests-sectionheader" align="left"> <th colspan="2">Name</th><th>Comment</th><th>Status</th><th nowrap="nowrap">Time(s)</th> </tr> <tr class="unittests-title"> <td colspan="5"><a href="#" onClick="toggleDivVisibility(document.getElementById('.HauptMenu'))">.HauptMenu</a></td> </tr> <table id=".HauptMenu" border="0" cellspacing="0" width="100%"> <colgroup> <col width="10%"> <col width="20%"> <col width="50%"> <col width="10%"> <col width="10%"> </colgroup> <tr class="unittests-data"> <td> </td><td>TestMenu1</td><td></td><td>Success</td><td>46.415</td> </tr> <tr class="unittests-data" bgcolor="#EEEEEE"> <td> </td><td>TestMenu2</td><td></td><td>Success</td><td>31.945</td> </tr> <tr class="unittests-data"> <td colspan="2"> </td><td> </td><td> </td><td> </td> </tr> <tr> <td colspan="5"> </td> </tr> </table> </table>
Ich weiß nicht woran es liegt.
Ähnliche Themen
-
TListView Zeilen ausblenden
Von delphi beginner im Forum Delphi, Kylix, PascalAntworten: 1Letzter Beitrag: 26.01.10, 12:07 -
Zeilen ausblenden
Von al-Maghribi im Forum PHPAntworten: 3Letzter Beitrag: 09.04.08, 12:03 -
Zeilen in JTable ausblenden
Von Leyja im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 5Letzter Beitrag: 06.03.08, 23:52 -
Zeilen en-bloc ein/ausblenden
Von ManicMarble im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 28.09.07, 23:46 -
[C++ MFC] Zeilen in CListCtrl ausblenden
Von sisela im Forum VisualStudio & MFCAntworten: 2Letzter Beitrag: 05.01.05, 13:49





Zitieren
Login





