Avatar billede monarq Praktikant
28. august 2012 - 21:08 Der er 2 kommentarer og
1 løsning

Vis/skjul tekst med checkboks - gerne animeret

Jeg har brug for for 10 checkbokse med muligheder i en form at få vist noget supplerende tekst til hver af de markerede checkbokse. Dvs. når man afkrydser et felt skal der komme noget tekst til syne på linjen lige under og resten af siden skubbes ned. Denne visning må meget gerne være animeret men er ikke noget krav.

Jeg har foreløbig denne kode, men bliver noget ufiks hvis der skal være en funktion til hver checkboks - der må kunne laves en parameter til at samle det hele i en funktion:

<html>
<head>
    <script>
   
    function fnchecked(blnchecked)
    {
        if(blnchecked)
        {
            document.getElementById("divcheck").style.display = "";
        }
        else
        {
            document.getElementById("divcheck").style.display = "none";
        }
    }

    function fnchecked1(blnchecked1)
    {
        if(blnchecked1)
        {
            document.getElementById("divcheck1").style.display = "";
        }
        else
        {
            document.getElementById("divcheck1").style.display = "none";
        }
    }

    </script>

</head>

<body>

        <input type="checkbox" name="fldcheckbox" id="fldcheckbox" onclick="fnchecked(this.checked);"/>
    Test1
    <div id="divcheck" style="display:none;">
        Uddybende tekst for Test1
    </div>
   
    <br/>

    <input type="checkbox" name="fldcheckbox1" id="fldcheckbox1" onclick="fnchecked1(this.checked);"/>
    Test2
    <div id="divcheck1" style="display:none;">
        Uddybende tekst for Test2
    </div>

</body>
</html>
Avatar billede DeeDawg Nybegynder
29. august 2012 - 07:27 #1
Selvom det uden tvivl kun er en test side, er jeg nødt til at kommentere på at din HTML ikke holder. Der bør altid være defineret en titel og et charset for en side. Derudover holder det heller ikke bare at bruge <script>, for her er man nødt til at være lidt mere præcis.

Nåh, tilbage til dit spørgsmål, hvilket kunne gøres således

<script type="text/javascript">
    function fnchecked(obj, elmID) {
        var display = obj.checked ? 'block' : 'none';
        document.getElementById(elmID).style.display = display;
    }
</script>

<input type="checkbox" name="fldcheckbox" id="fldcheckbox" onclick="fnchecked(this, 'divcheck')" />
Avatar billede monarq Praktikant
04. september 2012 - 20:08 #2
DeeDawg -> Undskyld det sene respons. Dit svar løser mit problem. Smid et svar og du får point.
Avatar billede DeeDawg Nybegynder
05. september 2012 - 17:12 #3
Det er helt i orden. :)
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