美文网首页
jQuery checkbox多次选中后失效

jQuery checkbox多次选中后失效

作者: Web前端大世界 | 来源:发表于2019-03-14 20:25 被阅读0次

    今天在做项目过程中使用jquery的attr属性完成一个功能及选择语音坐席的时候勾选语音及短信选项即

    $("#voiceSeat").click(function(){
    var isCheck=$(this).is(':checked');
    if(isCheck){
        $("#voice").prop({
            "checked":true,
            "disabled":true
        });
        $("#SMS").prop({
            "checked":true,
        });
    }else{
        $("#voice").prop({
            "checked":false,
            "disabled":false
        });
        $("#SMS").prop("checked":false);
        $("#soundRecord").prop("checked":false);
        $("#intelligent").prop("checked":false);
    }
    }) 
    

    一开始使用的attr第二次就会失效,出现再也无法选中的情况。

    到这里,问题答案找到了,就是使用 attr() 方法的问题,于是查看官方文档, 才知道从 jQuery 1.6 开始新增了一个方法 prop(),从中文意思看,两者分别是获取/设置 attributes 和 properties 的方法,在 jQuery 1.6 之前,使用 attr() 有时候会出现不一致的行为,所以才会增加 prop() 方法。
    那么,什么时候使用attr(),什么时候使用prop()?

    根据官方的建议:具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()。

    可以了解下attr与prop的区别
    http://www.runoob.com/jquery/html-prop.html

    相关文章

      网友评论

          本文标题:jQuery checkbox多次选中后失效

          本文链接:https://www.haomeiwen.com/subject/kqicgftx.html