2017-02-13 3 views
0

Ich habe 3 Checkboxen mit unterschiedlicher ID, Checkbox1, Checkbox2 und Checkbox3. Wie kann ich Checkbox 3 automatisch überprüfen, wenn checkbox1 & checkbox2 aktiviert ist.Checkbox 'Checked' automatisch, wenn zwei andere Kontrollkästchen bereits 'markiert' sind

html

<input type="checkbox" class="check" id="checkbox1"> 
<input type="checkbox" class="check" id="checkbox2"> 
<input type="checkbox" class="check" id="checkbox3"> 

jquery

var x = $("#checkbox1").is(':checked'); 
var y = $("#checkbox2").is(':checked'); 
if(x && y) { 
document.getElementById("checkbox3").is(':checked');} 
else {document.getElementById("checkbox3").checked = false; 
} 
+0

Binden 'Change'-Event an C1 & C2 und im Handler prüfen, ob beide Haken gesetzt sind, falls ja, dann check C3, ansonsten C3 abwählen. – Tushar

+0

können Sie ein Beispiel für die Bindungsüberprüfung geben 2 Ereignis C1 & C2? @Tushar – satriyoz

+0

[Demo] (https://jsfiddle.net/tusharj/1d689rpn/) – Tushar

Antwort

0

Erstens überprüfen Sie den Code: D

var y = $("#checkbox2").is('checked');

sollte sein:

var y = $("#checkbox2").is(':checked');

Sie tun können:

<script> 
$(document).ready(function() { 
    $('.check').on('change',function() { 
     var x = $("#checkbox1").is(':checked'); 
     var y = $("#checkbox2").is(':checked'); 
     $('#checkbox3').prop('checked',(x && y)); 
    }); 
}); 
</script> 

Hoffnung diese Hilfe ^^

+0

lol, ich bin sicher, ich schreibe es einfach falsch in diesem Beitrag, aber in meinem Code war es richtig .. sowieso, danke funktioniert es wie ein Charme .. :) nur zur Kenntnisnahme, Antwort von @Tushar ist auch richtig . – satriyoz

+0

Für Checkboxen empfehle ich generell ein 'click' Ereignis anstelle von' change' zu ​​verwenden, da in bestimmten älteren Browsern das 'change' Ereignis nicht ausgelöst wird, solange man das Kontrollkästchen mit der Tastatur anklickt, während' ' click' Ereignis wird sofort ausgelöst (auch über die Tastatur). – nnnnnn

+0

lol, du bist willkommen und viel Glück ^^ –

0

Ich denke, vielleicht wird diese Arbeit, ich bin nicht 100% sicher, aber hier:

var x = $("#checkbox1").is(':checked'); 
var y = $("#checkbox2").is('checked'); 
var z = $("#checkbox3").is('checked'); 
if(x && y && z) { 
document.getElementById("checkbox3").is(':checked');} 
else {document.getElementById("checkbox3").checked = false; 
} 
+1

* 'document.getElementById (" checkbox3 "). is (': checked')' * - Das wird nicht funktionieren. DOM-Elemente haben keine '.is()' Methode, und in jedem Fall würde diese Zeile im 'if' Block nichts bewirken. – nnnnnn

Verwandte Themen