Avatar billede d.kryger Praktikant
20. oktober 2004 - 12:42 Der er 6 kommentarer og
1 løsning

Disable checkbox ved valg

Hej eksperter.

Kan nogle hjælpe mig med følgende:
Jeg har 2 (der kommer måske flere) checkboxe på en side, og når man vælger den ene, skal man ikke kunne vælge den anden, og farven i den skal blive grå.
Hvis man ophæver et kryds/markering skal det naturligvis være muligt at vælge den anden/andre.

Mine checkboxe:
<input type="checkbox" name="tegning" value="Ja">
<input type="checkbox" name="tegning" value="Nej">

PS.: Det SKAL være checkboxe, "radio'er" duer ikke...
Avatar billede nikolajdu Nybegynder
20. oktober 2004 - 12:49 #1
de må ikke hedde det samme.

<form name="f">
<input type="checkbox" name="tegning" value="Ja" onclick="this.form.tegning2.disabled = this.checked">
<input type="checkbox" name="tegning2" value="Nej" onclick="this.form.tegning.disabled = this.checked">
</form>
Avatar billede roenving Novice
20. oktober 2004 - 12:49 #2
Hrm, godt du fik nævnt, at der måske kommer flere ...

<script type="text/javascript">
function checkBoxe(elm){
  var ch = elm.checked;
  var boxe = elm.form.elements[elm.name];
  for(i=0;boxe.length>i){
    boxe[i].disabled = (!ch && boxe[i]!=elm);
  }
}
</script>
Avatar billede roenving Novice
20. oktober 2004 - 12:55 #3
Nikolaj, hvorfor må de ikke hedde det samme ?-)

-- glemte lige boksene, og så kan det godt betale sig at teste !-)

<form>
<input type="checkbox" name="tegning" value="Ja" onclick="checkBoxe(this);">
<input type="checkbox" name="tegning" value="Nej" onclick="checkBoxe(this);">
<input type="checkbox" name="tegning" value="Måske" onclick="checkBoxe(this);">
</form>

<script type="text/javascript">
function checkBoxe(elm){
  var ch = elm.checked;
  var boxe = elm.form.elements[elm.name];
  for(i=0;boxe.length>i;i++){
    boxe[i].disabled = (ch && boxe[i]!=elm);
  }
}
</script>
Avatar billede roenving Novice
20. oktober 2004 - 12:58 #4
Og en praktisk udmøntning:

<form>
Tegning: <input type="checkbox" name="tegning" value="Ja" onclick="checkBoxe(this);">Ja
<input type="checkbox" name="tegning" value="Nej" onclick="checkBoxe(this);">Nej
<input type="checkbox" name="tegning" value="Måske" onclick="checkBoxe(this);">Måske<br>
I farver: <input type="checkbox" name="farver" value="Ja" onclick="checkBoxe(this);">Ja
<input type="checkbox" name="farver" value="Nej" onclick="checkBoxe(this);">Nej
<input type="checkbox" name="farver" value="Måske" onclick="checkBoxe(this);">Måske<br>
</form>

<script type="text/javascript">
function checkBoxe(elm){
  var ch = elm.checked;
  var boxe = elm.form.elements[elm.name];
  for(i=0;boxe.length>i;i++){
    boxe[i].disabled = (ch && boxe[i]!=elm);
  }
}
</script>
Avatar billede d.kryger Praktikant
20. oktober 2004 - 13:37 #5
Reonving: Det er lige sådan... Læg et svar... Tak for hjælpen...
Avatar billede roenving Novice
20. oktober 2004 - 13:52 #6
Velbekomme '-)
Avatar billede roenving Novice
20. oktober 2004 - 14:00 #7
-- 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