2012-11-20 107 views
2

我希望能夠檢索所有禁用的複選框並向包含TD表格單元添加樣式/背景。我可以選擇所有複選框並更改背景,如下所示:獲取所有禁用的複選框

$(':checkbox').closest("td").css('background-color', '#FF0000'); 

我只需要更新它,以便它僅適用於禁用的項目。

回答

8

您可以使用:disabled選擇器:

$('input[type=checkbox]:disabled').closest("td") // .addClass('disabled'); 

請注意,:checkbox選擇器已被棄用,替代方案是屬性選擇器。

您還可以使用has方法:

$('td').has('input[type=checkbox]:disabled').css('background-color', '#FF0000') 
+0

得到這兩個工作。我的代碼存在一個問題,導致它停止工作。 – KDee

2

除非我誤解disabled,我想你需要:

$(':checkbox:not(:checked)').closest("td").css('background-color', '#FF0000');

如果你不能做到這一點在線,你總是可以迭代:

$(':checkbox').each(function() { 
    var cb = $(this); 
    if(cb.is(':disabled')) { 
    cb.closest("td").css('background-color', '#FF0000'); 
    } 
}); 
+0

我不是在尋找選中/取消選中框。我只需要將規則應用於禁用複選框,而不管它們是否被檢查。 – KDee

+0

哦,那肯定':checkbox:disabled'是正確的選擇器嗎? – EMMERICH

+0

我也試過,但似乎並沒有工作。 – KDee

0

試試這個:

$(':checkbox:disabled').closest("td").css('background-color', '#FF0000'); 
相關問題