webForumDet fria alternativet

Visa/Dölja tabell on the fly?

20 svar · 1 105 visningar · startad av Quid

QuidMedlem sedan juni 20006 025 inlägg
#1

Hur går man tillväga om man vill låta användaren visa och dölja en tabell?

T.ex. om man har en rubrik och om man klickar på den så syns själva texten, klickar man igen så döljs den igen.

On demand så att säga :)

silfverMedlem sedan apr. 200312 679 inlägg
doggelitoMedlem sedan juni 20003 076 inlägg
#3

Javascript! :)
Typ så här:


<script>
     function autoHide(id)
     {
          var tableId = document.getElementById(id);
          tableId.style.display = (tableId.style.display == 'block') ? 'none' : 'block';
     }
</script>

<a href="javascript:autoHide('myTable');"></a>

<table id="myTable">

</table>
JAreMANNENMedlem sedan aug. 20002 272 inlägg
#4
function VToggle(ID) {
	var el = document.getElementById(ID)
	el.style.display = el.style.display == "none" ? "" : "none";
}

Sen ex. en länk som används:

<a href="#" onclick="VToggle('mintabell');">Visa/Dölj</a>

<table id="mintabell">
<tr>
<td>Textwhatever...</td>
</tr>
</table>

colioneMedlem sedan juni 20014 421 inlägg
#5

Använd doggelitos kod istället för JAreMANNENs.

QuidMedlem sedan juni 20006 025 inlägg
#6

Tackar, men en sak. Första gången så måste jag klicka två gånger innan det händer något, hur löser man det?

Och hur gör jag om jag vill att tabellen ska börja i dolt läge?

colioneMedlem sedan juni 20014 421 inlägg
#7

Du sätter display:none via css.

doggelitoMedlem sedan juni 20003 076 inlägg
#8

Quid skrev:

Och hur gör jag om jag vill att tabellen ska börja i dolt läge?

Du gör precis som colione skriver och du ska nog sätta den som en inlinetagg så att tabellen alltid har en displaystyle.

<table id="myTable" style="display:none;">

</table>
QuidMedlem sedan juni 20006 025 inlägg
#9

och det där med att man måste klicka två gånger första gången innan den försvinner? om den är synlig ifrån början dvs.

/edit

ah. det löste jag igenom att sätta:

STYLE="display:block"

Tack för all hjälp!

M.CheraghiMedlem sedan juli 20015 107 inlägg
#10

Vad skriver som som script-type på detta script? Använder det själv med W3 vill inte validera pga att det saknas någon script-type. Måste <script> ligga i <head>? Eller får man placera ut den var som?

10-4

QuidMedlem sedan juni 20006 025 inlägg
#11

M.Cheraghi skrev:

Vad skriver som som script-type på detta script? Använder det själv med W3 vill inte validera pga att det saknas någon script-type. Måste <script> ligga i <head>? Eller får man placera ut den var som?

type="text/javascript" och script-taggarna ska väl ligga inom <head> enligt standarden? fast det borde ju funka var det än ligger.

QuidMedlem sedan juni 20006 025 inlägg
#12

Om man vill stila till det lite extra då, så att det bara står "Dölj" när den är framme och bara "Visa" när den är borta? :)

colioneMedlem sedan juni 20014 421 inlägg
#13
<script>
     function autoHide(id,a)
     {
          var tableId = document.getElementById(id);
          tableId.style.display = (tableId.style.display === 'block') ? 'none' : 'block';
		  a.innerHTML = (a.innerHTML === 'Visa') ? 'Dölj' : 'Visa';
     }
</script>

<a href="#" onclick="autoHide('myTable',this);">Visa</a>

<table id="myTable" style="display:none;">
<tr><td>test</td></tr>
</table>

type-attributet är egentligen helt onödigt då det inte tillför nånting (det är optional). Tyvärr så måste man ha det i xhtml (xhtml är också helt onödigt att köra om man inte ska baka in annan xml och spottar ut xhtmlen i sig som xml, men det är det ju ingen som gör iom att ie inte förstår sig på det)

Tyvärr så läser jag ibland utan att ha någon källkritik. :) Type är required i både html 4 och xhtml 1.

doggelitoMedlem sedan juni 20003 076 inlägg
#14

colione skrev:

Tyvärr så måste man ha det i xhtml (xhtml är också helt onödigt att köra om man inte ska baka in annan xml och spottar ut xhtmlen i sig som xml, men det är det ju ingen som gör iom att ie inte förstår sig på det)

Helt onödigt är det väl ändå inte.
Det är ju bra att vänja sig med en standard som typ blir standard om 1, 2, 5, 20 år eller så! ;)

colioneMedlem sedan juni 20014 421 inlägg
#15

HTML 5? ;)

M.CheraghiMedlem sedan juli 20015 107 inlägg
#16

Kan man på någotvis skicka tabellens aktuella status med någonform utav QueryString?
Jag har en sida som visar bilder och vill dölja/visa en tabell under bilden. So far so good. Men när man reloadar samma sida, fast med en ny bild.. Kan man behålla tabellens status på någotvis?

silfverMedlem sedan apr. 200312 679 inlägg
#17

M.Cheraghi skrev:

Kan man på någotvis skicka tabellens aktuella status med någonform utav QueryString?
Jag har en sida som visar bilder och vill dölja/visa en tabell under bilden. So far so good. Men när man reloadar samma sida, fast med en ny bild.. Kan man behålla tabellens status på någotvis?

Spara i en kaka. :)

M.CheraghiMedlem sedan juli 20015 107 inlägg
#18

silfver skrev:

Spara i en kaka. :)

Hmm.. Lust att visa på ett ungefär hur det går tilL? Jag har aldrig hållt på med kakor, annat än att äta upp dom. Speciellt hallongrottor.. :r

silfverMedlem sedan apr. 200312 679 inlägg
#19

M.Cheraghi skrev:

Hmm.. Lust att visa på ett ungefär hur det går tilL? Jag har aldrig hållt på med kakor, annat än att äta upp dom. Speciellt hallongrottor.. :r

Hallongrottor är fina! :birp
http://www.webforum.nu/showthread.php?p=1077243#post1077243

M.CheraghiMedlem sedan juli 20015 107 inlägg
#20

silfver skrev:

Hallongrottor är fina! :birp
http://www.webforum.nu/showthread.php?p=1077243#post1077243

Ah perfekt! :bire.
Men det är på tok för mycket {} mm för mig för att jag ska behärska det, och skriva om koden för att passa in med Dogges kod. Aja, får väl börja plugga JS :e

134 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)