jQuery 修改checkbox的状态,无效

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery 修改checkbox的状态,无效相关的知识,希望对你有一定的参考价值。

$('input:checkbox').each(function()
var id = '#'+this.id;
$(id).attr("checked", false).checkboxradio("refresh");
//this.attr("checked", false).checkboxradio("refresh"); 用这种没有效果
$(id).checkboxradio("disable");
);
我使用注释的那一行无法实现需要的效果:this.attr("checked", false).checkboxradio("refresh");
一个奇怪的问题,求大神解释

$("#id").prop("checked", false);

使用prop 求采纳


prop()获取匹配的元素的属性值。
这个方法是jquery1.6以后出来的,用来区别之前的.attr()方法.

区别最大的一点就是:布尔型的属性,1.6以后都是用.prop()方法就好了

追问

不好意思可能我没描述清楚
这个用$(id).attr("checked", false).checkboxradio("refresh");可以实现,我是想问用this.attr("checked", false).checkboxradio("refresh"); 为什么没有效果

追答this肯定不行啊  要使用$(this)追问

不好意思,先看到了另外一个朋友的回答了,采纳了ta的

参考技术A $(this).attr("checked", false).checkboxradio("refresh"); //应该这么写吧,少了$这个东东~~~跟js混淆了追问

恩恩,确实这么写可以了,谢谢啦
不过为什么this.id可以获取到正确的ID值呢

追答

哈哈,这个我也不是太明白,但是$(this)表示获取元素对象,这样才能进行下一步获取属性操作,,而本身的this.id是js的正确写法直接获取到对象的id值,我测试过了

this.checked=true这样也是可以的哦。。。
所以~~~

本回答被提问者采纳

jquery取指定checkbox的选中状态的方法

$("input[name=‘_checkbox‘]").prop("checked")
 <input type="checkbox" id="_checkbox" name="_checkbox">

 

以上是关于jQuery 修改checkbox的状态,无效的主要内容,如果未能解决你的问题,请参考以下文章

jquery,attr,prop,checkbox标签已有checked=checked但是不显示勾选

关于jQuery操作复选框checkbox的attr无效的问题的解决方案

Android CheckBox修改选中状态框内部颜色及样式

jQuery 批量操作checkbox

JQuery操作CheckBox 第二次无法选中的问题

jquery判断checkbox是否选中及改变checkbox状态