不想选中已禁用的复选框

时间:2013-04-11 08:53:16

标签: jquery

我有复选框列表,其中一些是禁用的。我有一个check_alluncheckall的复选框,我的代码是

$( '#check_all' ).live( 'change', function() {
   $( '.waiting_user' ).attr( 'checked', $( this ).is( ':checked' ) ? 'checked' : '' );
   $( this ).next().text( $( this ).is( ':checked' ) ? 'Uncheck All' : 'Check All' );
 }); 

它工作正常,但问题是它还检查并取消选中已禁用复选框

任何方式做checkall和unchekall只启用图像中的echeck框se更详细enter image description here

并且问题是它的cheked disabled复选框也是。

enter image description here

3 个答案:

答案 0 :(得分:2)

您可以排除已禁用的复选框:

$('.waiting_user:not(:disabled)')

答案 1 :(得分:2)

您可以使用伪类选择器:enabled

 $( '.waiting_user:enabled' ).attr( 'checked', $( this ).is( ':checked' ) ? 'checked' : '' );

答案 2 :(得分:0)

$( '#check_all' ).live( 'change', function() {
$( '.waiting_user:enabled").attr( 'checked', $( this ).is( ':checked' )  ? 'checked' : '' );
$( this ).next().text( $( this ).is( ':checked' ) ? 'Uncheck All' : 'Check All' );
});