我有5个复选框在每一行.第一个是’ALL’.我试图看看其他人是否被禁用.所以,如果有人点击“全部”复选框,我需要确保禁用的没有被检查.这是我有的:
("input[name^=all_]").each(function() { var input = $(this); var name = input.attr('name'); var num = /\d+$/.exec(name)[0]; $(this).click(function() { if ($('"#G"+num').attr('disabled',false)) { $("#G"+num).attr('checked',$("#all_"+num).is(':checked')); } if ($('"#E"+num').attr('disabled',false)) { $("#E"+num).attr('checked',$("#all_"+num).is(':checked')); } if ($('"#W"+num').attr('disabled',false)) { $("#W"+num).attr('checked',$("#all_"+num).is(':checked')); } if ($('"#S"+num').attr('disabled',false)) { $("#S"+num).attr('checked',$("#all_"+num).is(':checked')); } });
});
事情是,一旦点击“全部”,残疾人仍然会被检查.我究竟做错了什么?提前致谢.
解决方法
这样做:
if ( !$("#G"+num).is(':disabled') ) { $("#G"+num).attr('checked',$("#all_"+num).is(':checked')); } if ( !$("#E"+num).is(':disabled')) { $("#E"+num).attr('checked',$("#all_"+num).is(':checked')); } if ( !$("#W"+num).is(':disabled') ) { $("#W"+num).attr('checked',$("#all_"+num).is(':checked')); } if (!$("#S"+num).is(':disabled')) { $("#S"+num).attr('checked',$("#all_"+num).is(':checked')); } });