Avatar billede hkb-x Nybegynder
29. april 2006 - 19:04 Der er 8 kommentarer og
1 løsning

rediger flere rækker

Jeg har nogle rækker i en tabel hvor man ved at klikke på et link skal gøre dem alle sammen enten synlige eller usynlige. Det gør jeg ved at bruge:

document.getElementById('123').style.display

som jeg så enten sætter til "none" eller "table-row" alt efter om de skal kunne ses eller ej. Problemet er at jeg bliver nød til at lave en kode per række. Dvs at hvis jeg har 12 rækker der skal fosvinde samtidig så skal jeg skrive 12 gange

document.getElementById('123').style.display

(med forskellige id numre).

Men er der ikke en måde hvorpå jeg kan sætte style.display på dem alle sammen på én gang?
Avatar billede erikjacobsen Ekspert
29. april 2006 - 19:07 #1
Er der noget system i navngivningen af rækkerne?  Ellers kan du jo lave et array med navnene, og løbe det igennem.
Avatar billede mclemens Nybegynder
29. april 2006 - 20:00 #2
Noget i denne stil?

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type"

content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">

function sh(){
tnr=document.getElementById("mintabel").getElementsByTagName("tr");
for(i=0;i<tnr.length;i++){
  if(tnr[i].className=="rhide"){
  tnr[i].style.display=(tnr[i].style.display=="none")?"":"none";
  }
}
}

</script></head>

<body>

<b onclick="sh();">Vis/skjul</b>

<table id="mintabel">
<tr><td> test </td></tr>
<tr><td> test </td></tr>

<tr class="rhide"><td> test - </td></tr>
<tr class="rhide"><td> test - </td></tr>
<tr class="rhide"><td> test - </td></tr>
<tr class="rhide"><td> test - </td></tr>
<tr class="rhide"><td> test - </td></tr>
<tr class="rhide"><td> test - </td></tr>
<tr class="rhide"><td> test - </td></tr>
<tr class="rhide"><td> test - </td></tr>
<tr class="rhide"><td> test - </td></tr>
<tr class="rhide"><td> test - </td></tr>
<tr class="rhide"><td> test - </td></tr>
<tr class="rhide"><td> test - </td></tr>

<tr><td> test </td></tr>
<tr><td> test </td></tr>
</body></html>
Avatar billede mclemens Nybegynder
29. april 2006 - 20:03 #3
tnr=document.getElementById("mintabel").getElementsByTagName("tr");
kan selvfølgelig også rettes til
tnr=document.getElementsByTagName("tr");

og så id på tabellen slettes... det kræver dog (måske) flere resourcer af browseren - da browseren så måske skal løbe gennem andre tabeller's tr's også for at lede efter tr's med className rhide for at bytte rundt på synligheden af disse...
Avatar billede mclemens Nybegynder
29. april 2006 - 20:04 #4
... hmm der mangler en </table>
Avatar billede hkb-x Nybegynder
30. april 2006 - 11:23 #5
@mclemens

der er kun 1 tabel så det er fint...
Avatar billede mclemens Nybegynder
30. april 2006 - 11:33 #6
ok :)
Avatar billede hkb-x Nybegynder
30. april 2006 - 12:26 #7
jeg tester lige 2 sek... kommer måske et par uddybende spørgsmål... men det ser fedt ud...
Avatar billede hkb-x Nybegynder
30. april 2006 - 12:58 #8
det virker jo bare perfekt... tusind tak... ;)
Avatar billede mclemens Nybegynder
30. april 2006 - 13:00 #9
- det var så lidt :)
og tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester