Avatar billede Slettet bruger
05. juli 2006 - 10:47 Der er 2 kommentarer og
1 løsning

Ændre tekst ved klik på radiobutton

Jeg har følgende kode:

<style type="text/css">
    #shorttext0 {
        font-weight: bold;
    }
    .shorttextUnmarked {
        color:red;
        font-weight: normal;
    }
    .shorttextMarked {
        font-weight: bold;
        background-color: red;
    }
</style>
<script language="javascript">
    var durations = new Array(3);
    var active = 0;
durations[0] = new Array(3);
durations[0]["shorttext"] = 'En dag'
durations[0]["longtext"] = 'God til opbevaring af kodestumper'
durations[0]["duration"] = '86400'
durations[1] = new Array(3);
durations[1]["shorttext"] = 'En måned'
durations[1]["longtext"] = 'God til opbevaring af logfiler'
durations[1]["duration"] = '20000'
durations[2] = new Array(3);
durations[2]["shorttext"] = 'Permanent'
durations[2]["longtext"] = 'God til opbevaring af brugbare ting ;)'
durations[2]["duration"] = '-1'
    function switchDuration(number) {
        this.document.getElementById("shorttext"+active).style.className = "shorttextMarked";
        this.document.getElementById("shorttext"+number).style.className = "shorttextUnmarked";

        alert("Viser desc"+number+" istedet for desc"+active);
        this.document.getElementById("desc"+active).style.display = "none";
        this.document.getElementById("desc"+number).style.display = "block";

        //alert("Ændrer fra "+active+" til "+number+durations[number]["shorttext"]);
        active = number;
    }
</script>
<input onclick="java script:switchDuration(0);" type="radio" value="0" name="duration"/><span id="shorttext0">En dag</span>

<input onclick="java script:switchDuration(1);" type="radio" value="1" name="duration"/><span id="shorttext1">En måned</span>
<input onclick="java script:switchDuration(2);" type="radio" value="2" name="duration"/><span id="shorttext2">Permanent</span>
<br><span id="desc0" style="display: none;">God til opbevaring af kodestumper</span><span id="desc1" style="display: none;">God til opbevaring af kodestumper</span><span id="desc2" style="display: none;">God til opbevaring af kodestumper</span><script language="javascript">
    document.getElementById("desc0").style.display = "block";
</script>

Jeg prøver at få den til at ændre styles og tekst når man klikker på radiobutton, men der sker ikke noget. Jeg får den alert jeg har indsat, men udseendet bliver ikke ændret. Hvad jab der være i vejen?
Den linje som til sidst sætter desc0 til at blive vist, virker fint.
Avatar billede mm12010 Nybegynder
05. juli 2006 - 11:22 #1
uden at være sikker på at jeg har forstået det rigtigt, kunne dette være et bud på en løsning:

<script language="javascript">
var durations=new Array(3);
var active=0;
durations[0]=new Array(3);
durations[0]["shorttext"]='En dag'
durations[0]["longtext"]='God til opbevaring af kodestumper'
durations[0]["duration"]='86400'
durations[1]=new Array(3);
durations[1]["shorttext"]='En måned'
durations[1]["longtext"]='God til opbevaring af logfiler'
durations[1]["duration"]='20000'
durations[2]=new Array(3);
durations[2]["shorttext"]='Permanent'
durations[2]["longtext"]='God til opbevaring af brugbare ting ;)'
durations[2]["duration"]='-1'
function switchDuration(number) {
    document.getElementById("shorttext"+active).style.fontWeight="";
    document.getElementById("shorttext"+active).style.color="";
    document.getElementById("shorttext"+number).style.fontWeight="bold";
    document.getElementById("shorttext"+number).style.color="red";
    document.getElementById("desc").innerHTML=durations[number]["longtext"];
    active=number;
}
</script>
...
<input onclick="switchDuration(0);" type="radio" value="0" name="duration">
<span id="shorttext0">En dag</span>
<input onclick="switchDuration(1);" type="radio" value="1" name="duration">
<span id="shorttext1">En måned</span>
<input onclick="switchDuration(2);" type="radio" value="2" name="duration">
<span id="shorttext2">Permanent</span><br>
<span id="desc">God til opbevaring af kodestumper</span>
Avatar billede Slettet bruger
05. juli 2006 - 11:32 #2
Det virker ;)
Tak for hjælpen. Smider du et svar?
Avatar billede mm12010 Nybegynder
05. juli 2006 - 11:48 #3
selv tak :o)
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