javascript - 复选框不会在点击时检查
问题描述
我试图在单击容器的跨度时进行复选框检查,但问题是当我单击跨度时它会检查/取消选中,但是当我单击复选框本身时它不起作用,知道为什么吗?
$("#cus_date").on('click', function(e) {
e.preventDefault()
e.stopPropagation()
});
$('.cus_date').on('click',function(){
if($("#cus_date").is(":checked")) {
$("#cus_date").prop("checked", false)
} else {
$("#cus_date").prop("checked", true)
}
});
.cus_date {
background-color: red;
display: block;
width: 30px;
height: 30px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>
<span class="input-group-addon cus_date" for="filtre_periode_custom"><input type="checkbox" id="cus_date" name="filtre_periode_custom" value="1"></span>
解决方案
$("#cus_date").on('click', function(e) {
//e.preventDefault()
e.stopPropagation()
});
$('.cus_date').on('click',function(){
if($("#cus_date").is(":checked")) {
$("#cus_date").prop("checked", false)
} else {
$("#cus_date").prop("checked", true)
}
});
.cus_date {
background-color: red;
display: block;
width: 30px;
height: 30px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>
<span class="input-group-addon cus_date" for="filtre_periode_custom"><input type="checkbox" id="cus_date" name="filtre_periode_custom" value="1"></span>
preventDefault
将停止默认操作并stopPropagation
停止触发父onClick
事件
推荐阅读
- php - 如何在电报中创建用户链接?
- rust - Rust - 如何在集合中找到第 n 个最频繁的元素
- java - Spring Boot JPA Hibernate - 以毫秒精度存储日期
- python - 烧瓶中的表单动作未重定向到路线
- python-3.x - 拥抱脸的 Microsoft LayoutLM 模型错误
- groovy - (Groovy) 向 ArrayList 添加多个值
- sdn - Opendaylight 铝制与 mininet 圆环
- html - 网页抓取 - h1 - 字体访问问题
- r - 从使用 stat_summary 生成的图中删除点
- javascript - 如何编写将计算日期并更改表格颜色的JS?