checkbox属性checked="checked"已有,但却不显示打勾的解决办法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了checkbox属性checked="checked"已有,但却不显示打勾的解决办法相关的知识,希望对你有一定的参考价值。


2014-02-05 BIWEB开发技巧 9919

在做权限管理的时候,做了一个功能,就是当勾选栏目,把所有的权限全勾上。刚开始使用了如下代码:

function check(id,check) { 	if (check) { 		$("." + id).find("input[type=‘checkbox‘]").attr("checked", true); 	} else { 		$("." + id).find("input[type=‘checkbox‘]").attr("checked", false); 	} }


第一遍勾选和取消是有效的,但是第二遍以后就没反应了,查看了属性,发现checked属性一直存在,但是没显示勾。就考虑移除checked属性看看。

function check(id,check) { 	if (check) { 		$("." + id).find("input[type=‘checkbox‘]").attr("checked", true); 	} else { 		$("." + id).find("input[type=‘checkbox‘]").removeAttr("checked"); 	} }


这次看到checked属性勾上有了,取消就没了,可是问题还是没解决,还是第二遍以后就没反应了。看Jquery手册上说1.6以下版本在IE6使用JQuery的removeAttr方法删除disabled是无效的。解决的方法就是使用$("XX").prop("disabled",false);课时我都用1.10的版本了,不管那么多了,死马当活马医就用这个方法试试。

function check(id,check) { 	if (check) { 		$("." + id).find("input[type=‘checkbox‘]").prop("checked", true); 	} else { 		$("." + id).find("input[type=‘checkbox‘]").removeAttr("checked"); 	} }

写成这样,问题解决,我估计手册上说的修复只修复了一遍,之后还是会出问题,所以最保险的还是用prop。

 

 来源:http://www.biweb.cn/blog/detail.php/id-21.html

 

以上是关于checkbox属性checked="checked"已有,但却不显示打勾的解决办法的主要内容,如果未能解决你的问题,请参考以下文章

checkbox属性checked="checked"已有,但却不显示打勾的解决办法

vue.js 怎么判断选中第一个checked,

C#中GridView中的CheckBox为啥选择后,CheckBox的Checked属性还是false?

firefox(火狐)下 js中设置checkbox属性checked="checked"已有,但复选框却不显示勾选的原因

在ext中如何动态设置checkbox的checked属性!

JSP中如何获取checkbox的状态(选中或非选中)?