天天看點

checkbox屬性checked=“checked“已有,但卻不顯示打勾的解決辦法

做checkbox樹的勾選時,由于對應的根節點不在樹内,當樹全選時不能将樹外的checkbox勾選上

于是先嘗試了

打開控制台檢視發現checkbox的屬性值checked,但是頁面上沒有打勾

于是使用

if(arr[1] != 0 && arr[0] == arr[1]){
 $("#${handlersTab.key}_all").prop('checked',true);
 }else{
 $("#${handlersTab.key}_all").prop('checked',false);
 }
           

新問題出現:勾選全選後,去掉下面任意一子節點的的勾選,此時全選會變成未勾選狀态,再次勾選全選會把所有子節點去去掉,且全選還是未勾選狀态,全選應該變成已勾選狀态

打開控制台排查,應該是取消勾選的語句沒有生效

于是使用

if(arr[1] != 0 && arr[0] == arr[1]){
 $("#${handlersTab.key}_all").prop('checked',true);
 }else{
 $("#${handlersTab.key}_all").removeProp("checked");
 }
           

問題解決

繼續閱讀