Avatar billede farsinsen Nybegynder
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
Avatar billede eagleeye Praktikant
02. juni 2003 - 10:31 #1
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.
Avatar billede farsinsen Nybegynder
02. juni 2003 - 10:34 #2
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...
Avatar billede eagleeye Praktikant
02. juni 2003 - 10:51 #3
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>
Avatar billede eagleeye Praktikant
02. juni 2003 - 10:55 #4
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>
Avatar billede eagleeye Praktikant
02. juni 2003 - 10:58 #5
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);"
Avatar billede farsinsen Nybegynder
02. juni 2003 - 11:02 #6
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!
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