Avatar billede martinkjaer Nybegynder
13. oktober 2004 - 08:34 Der er 5 kommentarer og
1 løsning

Ændre i form, når der klikkes i en checkbox

Hej,

Jeg har en form med flere checkboxe. 4 ialt med forskellige emner man kan vælge. Jeg ønsker så en 5. box, som hedder 'alle', og når man sætter et flueben i denne box, vil jeg gerne ha' en stump javascript til at krydse alle 4 emne-boxe af. Og omvendt fjerne alle 4 hvis man fjerner fluebenet i 'alle'-boxen.

Kan du hjælpe med det javascript, som ovenstående kræver??

Jeg laver det i PHP, men her ses lidt af outputtet.

<FORM ACTION="nyhedsbrev.php" METHOD="post" NAME="tilbud">
<input value="on" class=formbox type="checkbox" name="andel"> Andelsboliger
<input value="on" class=formbox type="checkbox" name="ejer"> Ejerboliger
<input value="on" class=formbox type="checkbox" name="udlejning"> Udlejningsboliger
<input value="on" class=formbox type="checkbox" name="erhverv"> Erhvervsboliger
<input value="on" class=formbox type="checkbox" name="erhverv"> Alle ovenstående
<input value="Tilmeld" class=formbox type="submit">

</FORM>

Hilsen
Martin Kjær
Avatar billede nheilbuth Nybegynder
13. oktober 2004 - 11:08 #1
Er ikke sikker på syntaksen men noget i retning af:

<script>
function selectall()
{
  if (document.tilbud.alle.checked)
  {
    document.tilbud.andel.checked = true;
    document.tilbud.andel.value = "on";
    document.tilbud.ejer.checked = true;
    document.tilbud.ejer.value = "on";
    document.tilbud.udlejning.checked = true;
    document.tilbud.udlejning.value = "on";
    document.tilbud.erhverv.checked = true;
    document.tilbud.erhverv.value = "on";
  }
  else
  {
    document.tilbud.andel.checked = false;
    document.tilbud.andel.value = "off";
    document.tilbud.ejer.checked = false;
    document.tilbud.ejer.value = "off";
    document.tilbud.udlejning.checked = false;
    document.tilbud.udlejning.value = "off";
    document.tilbud.erhverv.checked = false;
    document.tilbud.erhverv.value = "off";
  }
}
</script>

<input value="on" class=formbox type="checkbox" name="alle" onChange="selectall()">Alle ovenstående


Er som sagt ikke helt sikker på syntaksen, og det kan nok også gøres mere elegant, men det burde være noget i den retning
Avatar billede roenving Novice
13. oktober 2004 - 15:11 #2
Det kan absolut gøres mere elegant og lettere ...

Jeg går her ud fra, at du ikke har andre checkboxe i formen:

<script type="text/javascript">
function checkAll(elm){
  var e = elm.form.elements;
  for(i=0;e.length>i;i++){
    if(e[i]!=elm&&e[i].type=='checkbox')e[i].checked = elm.checked;
  }
}
</script>

<form action="nyhedsbrev.php" method="post" name="tilbud">
<input value="on" class=formbox type="checkbox" name="andel"> Andelsboliger<br>
<input value="on" class=formbox type="checkbox" name="ejer"> Ejerboliger<br>
<input value="on" class=formbox type="checkbox" name="udlejning"> Udlejningsboliger<br>
<input value="on" class=formbox type="checkbox" name="erhverv"> Erhvervsboliger<br>
<input value="on" class=formbox type="checkbox" name="alle" onclick="checkAll(this)"> Alle ovenstående<br>
<input value="Tilmeld" class=formbox type="submit">

</form>
Avatar billede nheilbuth Nybegynder
13. oktober 2004 - 15:34 #3
Ja ok, det var vist sådan det skulle vist gøres! :D
Avatar billede martinkjaer Nybegynder
13. oktober 2004 - 15:36 #4
Jeps, roenving's løsning virker fint. Giver du et svar, så er pointene på vej .-)
Avatar billede roenving Novice
13. oktober 2004 - 16:14 #5
Velbekomme '-)
Avatar billede roenving Novice
13. oktober 2004 - 18:43 #6
-- og tak for point ;~}
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