我的目标是通过单击x2
或单击xt
来检查x2
时显示divX2
。当点击x2
时,此功能正常工作,但单击xt
时不起作用。请注意0事件处理程序x2
中的行console.log("change x2");
。当我clic xt
,x2
看起来被检查但change
事件永远不会被解雇。html,javascript,如何知道复选框更改状态
$(function() {
$("#xt").click(function() {
var check = $(this).prop("checked");
$(".mark").prop("checked", check);
});
$("#x2").change(function() {
console.log("change x2");
if ($(this).prop("checked")) {
$("#divX2").show();
} else {
$("#divX2").hide();
}
});
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li><span><input name="xt" id="xt" type="checkbox" /> Check All</span></li>
<li><span><input name="x1" id="x1" type="checkbox" class="mark" /> X1</span></li>
<li><span><input name="x2" id="x2" type="checkbox" class="mark"/> X2</span></li>
<li><span><input name="x3" id="x3" type="checkbox" class="mark"/> X3</span></li>
<li><span><input name="x4" id="x4" type="checkbox" class="mark"/> X4</span></li>
</ul>
<div id="divX2" hidden="hidden">
<h4>Mostrando X2</h4>
</div>
这里唯一有效的答案 – empiric