jquery中checkbox反复没反应问题解决办法

jquery1.9以后,checkbox的选中用attr就有问题,第一次能选中,第二次选不中,要换成prop来设置属性。

1,问题重现

 代码如下复制代码

<html>
<body>
    <input type="checkbox" name="items" value="test" id='test' />test

    <button class='selected'>选中</button>
    <button class='unselected'>不选中</button>
</body>

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
    $('.selected').click(function(){
        $('#test').attr('checked','checked');
    });
    $('.unselected').click(function(){
        $('#test').removeAttr('checked');
    });
});
</script>
</html>

在这里有一点要注意,第一次选中后,用开发者工具,可以看到,checkbox有checked='checked'属性,第二次,点了,但是选不中,还是有checked='checked'

2,解决办法

 代码如下复制代码

<script type="text/javascript">
$(function(){
    $('.selected').click(function(){
        $('#test').prop('checked',true);
    });
    $('.unselected').click(function(){
        $('#test').prop('checked',false);
    });
});
</script>


转载于:https://my.oschina.net/china008/blog/407350

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值