Avatar billede farsinsen Nybegynder
07. januar 2005 - 21:25 Der er 10 kommentarer og
1 løsning

Uncheck af radiobuttons med samme value i andre grupper

Hej jeg skal lave et 'prioteringsskema' til et spørgsskema.

Prioteringsskemaet består af fem rækker radiobuttons, med fem radiobuttons i hver række. (<a href="http://kloegt.dk/files/misc/radio.png" target="_blank">illustration</a>)

I hver horizontal række har disse radiobuttons value fra 1-5 og samme name tag (f.eks. 10_1; spørgsmål 10 række 1) der kan således kun vælges én radiobutton i hver horizontal række. Det samme skal gælde for de vertikale rækker og dette er jeg ikke selv i stand til at fikse.

Jeg søger altså hjælp til et script (eller en stump færdig kode) der tjekker om der i grupperne med name tag xx_1 -> xx_5 allerede er checket en radiobutton med f.eks. value 1, hvis det er tilfældet skal denne uncheckes.

Håber at I forstår min forklaring - hvis ikke uddyber jeg selvfølgelig gerne ;)

- Peter
Avatar billede rbl Praktikant
07. januar 2005 - 23:20 #1
Det giver ikke så meget mening, at der kun må være checked 1 radiobutton i hver horizontal og vertical række.

Men hvis det er det du vil, så bliver du nok nødt til at gøre det med checkbokse.
Avatar billede farsinsen Nybegynder
07. januar 2005 - 23:24 #2
He he om det giver mening er vel min (og alle andre der før og senere vil lave en priotering) beslutning. Prioteringer ses ofte i spørgeskemaer så jeg forstår ikke, hvorfor du ikke mener at det giver mening :)

Anyway, det kan/må helst ikke laves med checkbox'es, men jeg vil da gerne ha' din forklaring på, hvorfor det er bedre/nemmere at lave det med dem frem for radiobuttons.

- Peter
Avatar billede rbl Praktikant
07. januar 2005 - 23:33 #3
Det er fordi at checkbokse kan checkes og uncheckes uafhængigt af hinanden, mens radiobuttons er afhængige af hinanden.

PS.
Jeg havde bare ikke lige forstået hvorfor du ville have det sådan, men jeg tror at jeg har fattet det nu :-)
Avatar billede rbl Praktikant
07. januar 2005 - 23:34 #4
jeg siger ikke det er nemt med checkbokse, men jeg er bare ikke sikker på, at det kan lade sig gøre med radiobuttons.

Men jeg kan da lige prøve...
Avatar billede moocher Nybegynder
07. januar 2005 - 23:37 #5
Jeg tror at der skal et javascript til... Jeg ved ikke helt hvordan men som jeg kan læse ud fra diverse steder kan man finde et object i en form på en side via

document.FormNavn.Inputnavn

Desuden ved jeg at man tjekker om en bestem radioknap er tjekke ved at test på følgende måde

KnapNavn.Checked

Men at få det sat sammen ved jeg ikke helt lige hvordan
Avatar billede farsinsen Nybegynder
07. januar 2005 - 23:40 #6
Hmm, jeg har bare ikke rigtig brug for at tjekke om en radiobutton er checked. Jeg har jo brug for at tjekke om der er en radiobutton i én gruppe der er checked og i så fald hvilken value denne har. Det er sådanset der mit problem ligger. Jeg har søgt på google, men kan ikke finde løsningen på hvordan jeg finder den 'checked' value for en gruppe. Havde jeg den kunne resten nemt slamkodes...

- Peter
Avatar billede rbl Praktikant
07. januar 2005 - 23:46 #7
Hvis det kun er det du mangler, kan det da findes ved at løbe de 5 rækker igennem og se hvilke, der er checked
Avatar billede rbl Praktikant
07. januar 2005 - 23:55 #8
du kan kende samtlige radiobuttons fra hinanden, hvis du sætter en ID på alle sammen. ID skal nok være det samme som value.
Avatar billede rbl Praktikant
08. januar 2005 - 00:19 #9
Jeg tror jeg har løst det:

<html>
<head>
<script language="javascript">
function tjek(navn,vaerdi) {
    for (i=1; i<=5; i++) {
       
        if (document.getElementById(''+i+'_'+vaerdi).checked) {
            if (i != navn) {   
                document.getElementById(''+i+'_'+vaerdi).checked = false
            }
        }
    }
   
}
</script>
</head>
<body bgcolor="#FFFFFF">
<form name="form1" action="" method="post">
<input type="radio" name="r1" id="1_1" value="1_1" onclick="tjek(1,1)">
<input type="radio" name="r1" id="1_2" value="1_2" onclick="tjek(1,2)">
<input type="radio" name="r1" id="1_3" value="1_3" onclick="tjek(1,3)">
<input type="radio" name="r1" id="1_4" value="1_4" onclick="tjek(1,4)">
<input type="radio" name="r1" id="1_5" value="1_5" onclick="tjek(1,5)"><br>
<input type="radio" name="r2" id="2_1" value="2_1" onclick="tjek(2,1)">
<input type="radio" name="r2" id="2_2" value="2_2" onclick="tjek(2,2)">
<input type="radio" name="r2" id="2_3" value="2_3" onclick="tjek(2,3)">
<input type="radio" name="r2" id="2_4" value="2_4" onclick="tjek(2,4)">
<input type="radio" name="r2" id="2_5" value="2_5" onclick="tjek(2,5)"><br>
<input type="radio" name="r3" id="3_1" value="3_1" onclick="tjek(3,1)">
<input type="radio" name="r3" id="3_2" value="3_2" onclick="tjek(3,2)">
<input type="radio" name="r3" id="3_3" value="3_3" onclick="tjek(3,3)">
<input type="radio" name="r3" id="3_4" value="3_4" onclick="tjek(3,4)">
<input type="radio" name="r3" id="3_5" value="3_5" onclick="tjek(3,5)"><br>
<input type="radio" name="r4" id="4_1" value="4_1" onclick="tjek(4,1)">
<input type="radio" name="r4" id="4_2" value="4_2" onclick="tjek(4,2)">
<input type="radio" name="r4" id="4_3" value="4_3" onclick="tjek(4,3)">
<input type="radio" name="r4" id="4_4" value="4_4" onclick="tjek(4,4)">
<input type="radio" name="r4" id="4_5" value="4_5" onclick="tjek(4,5)"><br>
<input type="radio" name="r5" id="5_1" value="5_1" onclick="tjek(5,1)">
<input type="radio" name="r5" id="5_2" value="5_2" onclick="tjek(5,2)">
<input type="radio" name="r5" id="5_3" value="5_3" onclick="tjek(5,3)">
<input type="radio" name="r5" id="5_4" value="5_4" onclick="tjek(5,4)">
<input type="radio" name="r5" id="5_5" value="5_5" onclick="tjek(5,5)"><br>
</form>

</body>
</html>
Avatar billede farsinsen Nybegynder
08. januar 2005 - 00:24 #10
Superb ... det virker helt efter hensigten!

Smid et svar, så får du dine point right away.

- Peter
Avatar billede rbl Praktikant
08. januar 2005 - 00:30 #11
ok :-)
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