Avatar billede clausn Nybegynder
16. juli 2004 - 08:22 Der er 8 kommentarer og
1 løsning

Udskift tekst

Hej eksperter,

Jeg roder lidt med nedenstående, men kan ikke få det til at spille som jeg vil.

Jeg har en masse priser på en side som jeg ønsker at skjule med teksten "******" når man klikker på en knap.

Jeg har fået det til at virke med den første, men det virker ikke med resten.

<form>
<input type="checkbox" onclick="document.getElementById('test_1').style.display=(!this.checked)?'block':'none';
document.getElementById('test_2').style.display=(this.checked)?'block':'none';"/>
<div id="test_1">
Farvel
</div>

<div id="test_2" style="display:none">
Hej
</div>

<br><br>
<div id="test_1">
Farvel
</div>

<div id="test_2" style="display:none">
Hej
</div>
</form>

Jeg ønsker at komme frem til at når jeg klikker på en knap bliver alle mine "CostPrice" divs skiftet ud med teksten "*****"

<div id="CostPrice">134,81</div>
<div id="CostPrice">145,42</div>
<div id="CostPrice">112,13</div>
<div id="CostPrice">861,74</div>

Hilsen
Claus
Avatar billede roenving Novice
16. juli 2004 - 15:38 #1
Du må ikke have mere end een af hver id, for de skal være unikke !-)

<style type="text/css">
.NoPrice{display:none;}
</style>
<body>
<input type="checkbox" onclick="skjulTal(this)" />
<script type="text/javascript">
function skjulTal(elm){
  d = document.getElementsByTagName('DIV');
  for(i=0;d.length>i;i++){
    if(d[i].className.indexOf('CostPrice')>-1){
      d[i].style.display=(!elm.checked)?'block':'none';
    }else if(d[i].className.indexOf('NoPrice')>-1){
      d[i].style.display=(elm.checked)?'block':'none';
    }
  }
}
</script>
<div class="CostPrice">134,81</div>
<div class="NoPrice">*****</div>
<div class="CostPrice">145,42</div>
<div class="NoPrice">*****</div>
<div class="CostPrice">112,13</div>
<div class="NoPrice">*****</div>
<div class="CostPrice">861,74</div>
<div class="NoPrice">*****</div>
</body>
Avatar billede clausn Nybegynder
16. juli 2004 - 15:42 #2
Kanon!
Hvor skal jeg lede hvis jeg i stedet for en checkbox gerne vil have en knap der også skifter tekst alt efter om man har trykket eller ej?

Altså hvis den viser tallene står der "Skjul tal" og ellers står der "Vis tal"

Kan man ikke ændre indholdet af CostPrice i stedet for at have en til <div...</div> ?
Det er jo ligemeget - er bare nysgerrig :-)
Avatar billede roenving Novice
16. juli 2004 - 15:46 #3
Problemet er at finde værdierne frem igen !-)

Men man kan sagtens !o]

Med en knap skal vi have en variabel med:

<style type="text/css">
.NoPrice{display:none;}
</style>
<body>
<input type="button" onclick="skjulTal(this)" />
<script type="text/javascript">
var vis = true;
function skjulTal(elm){
  d = document.getElementsByTagName('DIV');
  for(i=0;d.length>i;i++){
    if(d[i].className.indexOf('CostPrice')>-1){
      d[i].style.display=(!vis)?'block':'none';
    }else if(d[i].className.indexOf('NoPrice')>-1){
      d[i].style.display=(vis)?'block':'none';
    }
  }
  vis = !vis;
}
</script>
<div class="CostPrice">134,81</div>
<div class="NoPrice">*****</div>
<div class="CostPrice">145,42</div>
<div class="NoPrice">*****</div>
<div class="CostPrice">112,13</div>
<div class="NoPrice">*****</div>
<div class="CostPrice">861,74</div>
<div class="NoPrice">*****</div>
</body>
Avatar billede clausn Nybegynder
16. juli 2004 - 15:48 #4
Laver du ikke et svar?

Hvordan skifter jeg så teksten i knappen?
Avatar billede roenving Novice
16. juli 2004 - 16:34 #5
Enten:

<input type="button" value="Vis/skjul tal" onclick="skjulTal(this)" />

eller:

<button onclick="skjulTal(this)">Vis/skjul tal</button>

Velbekomme '-)
Avatar billede roenving Novice
16. juli 2004 - 16:42 #6
Argh, jeg så ikke at du ville skifte teksten i kanppen:

<button onclick="skjulTal(this)">Skjul tal</button>

function skjulTal(elm){
  d = document.getElementsByTagName('DIV');
  for(i=0;d.length>i;i++){
    if(d[i].className.indexOf('CostPrice')>-1){
      d[i].style.display=(!vis)?'block':'none';
    }else if(d[i].className.indexOf('NoPrice')>-1){
      d[i].style.display=(vis)?'block':'none';
    }
  }
  elm.innerHTML = (vis)?"Vis tal":"Skjul tal";
  vis = !vis;
}
Avatar billede clausn Nybegynder
16. juli 2004 - 17:26 #7
Tester senere... Mange tak :-)
Avatar billede roenving Novice
17. juli 2004 - 01:21 #8
-- og tak for point ;~}
Avatar billede clausn Nybegynder
19. juli 2004 - 09:53 #9
Perfekt! Takker
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