2017-02-07 74 views
0

我有這個複選框代碼添加禁用類跨越如果複選框被使用jQuery

<div class="checkbox-group"> 

    <label class="fc-contain-sm checkbox-status"> 
     <input type="checkbox" class="formjs-checkbox-sm" checked disabled> 
     <div class="fc-status-sm"></div> 
     <span class="checkbox-lable-sm">Disabled checkbox</span> 
    </label> 

    <label class="fc-contain-sm checkbox-status"> 
     <input type="checkbox" class="formjs-checkbox-sm"> 
     <div class="fc-status-sm"></div> 
     <span class="checkbox-lable-sm">Normal checkbox</span> 
    </label> 

</div> 

,我想如果複選框使用jQuery

CSS

禁用添加 disabledcheckbox-lable-sm類禁用
.checkbox-group .disabled { 
    cursor: not-allowed; 
} 

我試過這段代碼但它不起作用

$('.checkbox-group > input:disabled.formjs-checkbox-sm').each(function(){ 
    $(this).find('.checkbox-lable-sm').addBack().addClass("disabled"); 
}); 
+0

我很困惑,你說「添加類標籤「但是你的代碼顯示你想把它添加到'span'中? –

回答

1

試一試這個,

$(".checkbox-group input[type='checkbox']").each(function() { 
    if ($(this).is(':disabled')) { 
    $(this).closest(".fc-contain-sm").find(".checkbox-lable-sm").addClass("disabled"); 
    } 
}); 

我相信這會工作。

這裏工作jsfiddle

這裏是第二種方式,

$(".checkbox-group input[type='checkbox']:disabled").each(function() { 
    $(this).closest(".fc-contain-sm").find(".checkbox-lable-sm").addClass("disabled"); 
}); 

這是第三條道路,

$(".checkbox-group input[type='checkbox']:disabled").each(function() { 
    $(this).closest("label").find(".checkbox-lable-sm").addClass("disabled"); 
}); 
1
$('.checkbox-group input:disabled.formjs-checkbox-sm').each(function() { 
    $(this).parent().find('.checkbox-lable-sm').addClass("disabled"); 
});