checkbox全选失效

博客讨论了在使用jQuery时遇到的checkbox全选功能失效的问题。在页面上操作时,虽然代码显示选中状态,但页面效果并未正确显示。问题出现在jQuery 1.6引入的新方法`prop()`。通过使用`prop()`方法正确设置checked属性,成功解决了全选失效的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先写一段全选的代码

 //全选、全不选
    $("#currentPageAllOrders").bind({
         click : function(){
             var allOrdersChecked = $(this).is(":checked")
             $("input[name='selectedId']").each(function () {
                 $(this).attr("checked",allOrdersChecked);
             })
          }
     });


页面效果如下



我们F12看了一下页面代码,是没有选中状态,符合预期



我们点击全选前面的选框,发现页面全选中了,这是我们想要的,这个时候我们再看看代码,多了一个checked=“checked",符合预期



接下来点取消,发现页面中的 checked="checked"消失,符合预期



这个时候,注意啦,当我们再次点击全选的时候,我们发现额,页面中没有选中效果,但是代码中却有 checked="checked"



神奇啊,哭笑不得

后来经过研究发现,jquery1.6开始添加了一个新的方法prop,至于这个方法的详细情况,各位可以问度娘

解决方案




ok  问题解决了(为了赶时髦,我用的是jquery1.11,罪过罪过)





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值