02. juni 2003 - 10:27
Der er
5 kommentarer og 1 løsning
OnClick unselect alle de andre (radiobuttons)
Hej jeg er rendt ind i et problem med nogle radiobuttons. Jeg har på samme side fire grupper af radiobuttons. Når gruppe 1 bliver checked/selected, skal gruppe 2-4 unselectes. Bliver gruppe 2-4 valgt skal gruppe 1 unselectes. Jeg kan kigget lidt rundt omkring men synes ik' lige umiddelbart at jeg kan finde noget, har i andre ideer til hvordan jeg kan lave det, eller ved i hvordan jeg får løst mit problem, med en HELT konkret løsning ... jaeh så er der point i posen! mvh Peter Farsinsen
Annonceindlæg fra Hitachi
”Forskellighed gør os stærkere!”
Diversitet er ikke kun buzzwords og politisk korrekthed, men et spørgsmål om at alle føler sig godt tilpas og kan yde deres bedste.
31. januar 2025
Helt korrekte løsning er at give dem alle samme navn, så de er del af samme gruppe, da det er imod en radio buttons natur at man kan slå dem alle fra.
Hele ideen med at give radiobuttons forskellige navne er jo netop at få dem smidt i forskellige variabler når jeg poster formen. Slår jeg de fire grupper sammen til een umuliggør det jo netop at tjekke for værdierne, derfor nope det går ikke...
Ok, så må du lave et script som gør det. Her er en function som kan løbe en gruppe igennem og unchecke den som er valgt: Eks vist med en knap til uncheck. <HTML> <HEAD> <SCRIPT> function uncheckRadioGroup (radioButtonOrGroup) { if (radioButtonOrGroup.length) { // we have a group for (var b = 0; b < radioButtonOrGroup.length; b++) if (radioButtonOrGroup[b].checked) { radioButtonOrGroup[b].checked = false; break; } } else radioButtonOrGroup.checked = false; } </SCRIPT> </HEAD> <BODY> <FORM NAME="formName"> <INPUT TYPE="radio" NAME="aRadioGroup" VALUE="Kibo"> <INPUT TYPE="radio" NAME="aRadioGroup" VALUE="Xibo"> <INPUT TYPE="radio" NAME="aRadioGroup" VALUE="Maho"> <INPUT TYPE="button" VALUE="uncheck" ONCLICK="uncheckRadioGroup(this.form.aRadioGroup)" > </FORM> </BODY> </HTML>
Her er koden omskrevet til dit eks, her med 3 Grupper: <HTML> <HEAD> <SCRIPT> function uncheckRadioGroup (radioButtonOrGroup) { if (radioButtonOrGroup.length) { // we have a group for (var b = 0; b < radioButtonOrGroup.length; b++) if (radioButtonOrGroup[b].checked) { radioButtonOrGroup[b].checked = false; break; } } else radioButtonOrGroup.checked = false; } </SCRIPT> </HEAD> <BODY> <FORM NAME="formName">Gruppe 1 <INPUT TYPE="radio" NAME="g1" VALUE="Kibo" ONCLICK="uncheckRadioGroup(this.form.g2);uncheckRadioGroup(this.form.g3);"> <INPUT TYPE="radio" NAME="g1" VALUE="Xibo" ONCLICK="uncheckRadioGroup(this.form.g2);uncheckRadioGroup(this.form.g3);"> <INPUT TYPE="radio" NAME="g1" VALUE="Maho" ONCLICK="uncheckRadioGroup(this.form.g2);uncheckRadioGroup(this.form.g3);"> <br><br>Gruppe 2 <INPUT TYPE="radio" NAME="g2" VALUE="Kibo" ONCLICK="uncheckRadioGroup(this.form.g1);uncheckRadioGroup(this.form.g3);"> <INPUT TYPE="radio" NAME="g2" VALUE="Xibo" ONCLICK="uncheckRadioGroup(this.form.g1);uncheckRadioGroup(this.form.g3);"> <INPUT TYPE="radio" NAME="g2" VALUE="Maho" ONCLICK="uncheckRadioGroup(this.form.g1);uncheckRadioGroup(this.form.g3);"> <br><br>Gruppe 3 <INPUT TYPE="radio" NAME="g3" VALUE="Kibo" ONCLICK="uncheckRadioGroup(this.form.g2);uncheckRadioGroup(this.form.g1);"> <INPUT TYPE="radio" NAME="g3" VALUE="Xibo" ONCLICK="uncheckRadioGroup(this.form.g2);uncheckRadioGroup(this.form.g1);"> <INPUT TYPE="radio" NAME="g3" VALUE="Maho" ONCLICK="uncheckRadioGroup(this.form.g2);uncheckRadioGroup(this.form.g1);"> </FORM> </BODY> </HTML>
Princippet er du har en ONCLICK på alle radio knapperne som kalder functionen som fjerne chacked i en gruppe: Denne skal være i gruppe 1 og unchecker gruppe 2 og 3 (g2 og g3) ONCLICK="uncheckRadioGroup(this.form.g2);uncheckRadioGroup(this.form.g3);" Men kan let tilføje flere grupper efter behov: ONCLICK="uncheckRadioGroup(this.form.g2);uncheckRadioGroup(this.form.g3);uncheckRadioGroup(this.form.g4);"
Hvad jeg egentlig sku' bruge var... <INPUT TYPE="radio" NAME="g1" VALUE="Kibo" ONCLICK="uncheckRadioGroup(this.form.g4);"> <INPUT TYPE="radio" NAME="g2" VALUE="Kibo" ONCLICK="uncheckRadioGroup(this.form.g4);"> <INPUT TYPE="radio" NAME="g3" VALUE="Xibo" ONCLICK="uncheckRadioGroup(this.form.g4);"> <INPUT TYPE="radio" NAME="g4" VALUE="Xibo" ONCLICK="uncheckRadioGroup(this.form.g1);uncheckRadioGroup(this.form.g2);uncheckRadioGroup(this.form.g3);"> Resten af dit script ser ud til at virke ... men tak for super go hjælp, på super kort tid!
Vi tilbyder markedets bedste kurser inden for webudvikling