2017-02-13 126 views
0

我有3个复选框与不同的ID,复选框1,复选框2和复选框3。 如何使复选框3自动检查,如果复选框1 &复选框2被选中。当两个其他复选框已经'检查'时,自动复选框'检查'

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

绑定C1&C2上的'change'事件并在处理程序中检查是否都选中,如果是,则检查C3否则取消选中C3。 – Tushar

+0

你可以举一个例子来看看绑定检查2事件C1和C2吗? @Tushar – satriyoz

+0

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

回答

0

首先,检查你的代码:D

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

应该是:

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

你可以这样做:

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

希望这有助于^^

+0

大声笑,我敢肯定,我只是写错了,但在我的代码,但在我的代码是正确的.. 无论如何,谢谢你它的作品就像一个魅力.. :) 只是为了说明,从@Tushar的回答也是正确的。 – satriyoz

+0

对于复选框,我通常建议使用'click'事件而不是'change',因为在某些较旧的浏览器中,如果用键盘“复选”复选框,那么'change'事件不会被触发,直到将其切掉为止,而'点击“事件立即触发(即使从键盘)。 – nnnnnn

+0

大声笑,不客气,祝你好运^^ –

0

我想,也许这会工作,我不是100%肯定,但在这里:

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')'* - 这是行不通的。 DOM元素没有'.is()'方法,并且在任何情况下,'if'块中的该行都不会执行任何操作。 – nnnnnn