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

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

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。

BIWEB是跨设备跨平台兼容,一站多发,操作方便的WEBAPP手机网站系统

BIWEB自2005年推出后,经过不断的在各种大型项目中实践、总结、开发设计出来的一个快速开发、简单易用的面向对象的企业应用级PHP MVC建站系统。至2013年8月BIWEB推出webapp版本,标志着BIWEB从电脑网站系统正式步入移动端应用系统时代。

联系我们

上海徐汇区漕溪路165号1209室

13367735767,

info@biweb.cn

客服:1953680398

Back to Top