当两个其他复选框已经'检查'时,自动复选框'检查'
问题描述:
我有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;
}
答
首先,检查你的代码: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>
希望这有助于^^
答
我想,也许这会工作,我不是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
绑定C1&C2上的'change'事件并在处理程序中检查是否都选中,如果是,则检查C3否则取消选中C3。 – Tushar
你可以举一个例子来看看绑定检查2事件C1和C2吗? @Tushar – satriyoz
[Demo](https://jsfiddle.net/tusharj/1d689rpn/) – Tushar