2010-12-02 13 views
3

Ich habe 2 Kontrollkästchen, betrachte chk1 und chk2. Wenn ein Kontrollkästchen aktiviert ist, sollte das zweite Kontrollkästchen automatisch aktiviert werden und nicht umgekehrt. Was sollte das Javascript sein? Kann mir jemand helfen? Vielen Dank!!Javascript, um ein Kontrollkästchen zu aktivieren, wenn ein anderes Kontrollkästchen aktiviert ist

+0

Was meinst du mit "nicht umgekehrt"? – jordanbtucker

+1

Ich denke, er meint, dass das Überprüfen von ck2 nicht chk1 schaltet. – JohnFx

+0

@ John. Das ist, was ich dachte, aber es könnte bedeuten, dass er nur will, dass "chk2" automatisch aktiviert und nie automatisch deaktiviert wird. – jordanbtucker

Antwort

5

Hier ist eine einfache Inline-Version, um die allgemeine Idee zu demonstrieren. Vielleicht möchten Sie es in einer separaten Funktion in der realen Welt herausziehen.

Wenn Sie wollen, dass chk2 automatisch mit allen Änderungen an chk1 synchron bleibt, aber nichts macht, wenn chk2 angeklickt wird, gehen Sie damit fort.

<input id="chk1" type="checkbox" onclick="document.getElementById('chk2').checked = this.checked;"> 
<input id="chk2" type="checkbox"> 

Diese Version wird nur chk2 ändern, wenn chk1 geprüft, aber nichts tun, wenn cis1 nicht aktiviert ist.

<input id="chk1" type="checkbox" onclick="if (this.checked) document.getElementById('chk2').checked = true;"> 
<input id="chk2" type="checkbox"> 
+0

Gute Antwort, da der onclick wichtig ist ('onchange' würde nicht ausgelöst werden, bis der Fokus entfernt wurde - dachte, es wäre gut, beides für den Fall zu setzen, dass der Benutzer die Leertaste benutzt?) – Nicole

+2

Ich tat es ein kurzer Test und die Leertaste hat es in Firefox und IE ausgelöst. – JohnFx

+0

Danke John !! :) – Ram

2
var chk1 = document.getElementById('chk1'); 
var chk2 = document.getElementById('chk2'); 

if (chk1.checked) 
     chk2.checked = true; 
+0

Diese Lösung wird funktionieren, wenn Sie wollen, dass ck2 UNCHECK deaktiviert, wenn Sie ck1 deaktivieren. Es ist ein wenig unklar, was das OP (wenn überhaupt) passieren will, wenn Sie ck1 deaktivieren. – JohnFx

1

Für die erste:

document.getElementById('chk1').checked = document.getElementById('chk2').checked; 

Für die zweite:

document.getElementById('chk2').checked = document.getElementById('chk1').checked; 
Verwandte Themen