【jQuery】【js】复选框只改变checked属性会激发change事件么

一个列表里的几行数据,每行数据前都有一个复选框,默认为不选中状态,点击某行的时候会设置当前行前复选框的checked属性为true,但是对应的change事件并不执行,如果直接点击某行的复选框,change事件就执行了,什么原因

6个回答

我的复选框是通过onclick事件处理的,在函数里面去判断checked是true还是false

```
/* 显示时间 */
function showTime() {
var show = document.getElementById("show");
var time = document.getElementById("dateShow");
if (show.checked) {
//alert("checked");
time.style.display = "";
} else {
//alert("un checked");
time.style.display = "none";
}
}


<input type="checkbox" onclick="javascript:showTime()" id="show" name="show" checked="checked" />
/* 显示时间 */
function showTime() {
    var show = document.getElementById("show");
    var time = document.getElementById("dateShow");
    if (show.checked) {
        //alert("checked");
        time.style.display = "";
    } else {
        //alert("un checked");
        time.style.display = "none";
    }
}

点击某行只是把改行的checkbox的checked属性进行了改变,而并没有去执行change事件。你要想实现改变属性后执行change事件,你的用程序进行控制。

js设置checkbox的勾选是不会触发onchange事件的,你需要用jquery trigger下

 $('#xxx').prop('checked',true).trigger('change')

第一次提问,还没弄懂这个要怎么回复,谢谢大家。 方法我都会试一下,再次感谢~

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐