js 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。

 

轉自 http://blog.csdn.net/anxin591025/article/details/39672267


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM