2012-11-20 110 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'); 
相关问题