路西呆
2016-03-30 05:28
采纳率: 0%
浏览 2.1k

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • 一枪尽骚丶魂 2016-03-30 05:55

    我的复选框是通过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";
    }
    }

    
    
    点赞 评论
  • 一枪尽骚丶魂 2016-03-30 05:55
    <input type="checkbox" onclick="javascript:showTime()" id="show" name="show" checked="checked" />
    
    点赞 评论
  • 一枪尽骚丶魂 2016-03-30 05:56
    /* 显示时间 */
    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";
        }
    }
    
    点赞 评论
  • fubo1990 2016-03-30 06:02

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

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

     $('#xxx').prop('checked',true).trigger('change')
    
    点赞 评论
  • 路西呆 2016-04-20 01:11

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

    点赞 评论

相关推荐 更多相似问题