我的目標是通過單擊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