如果选中复选框,则禁用“添加”按钮

时间:2013-06-21 22:35:58

标签: jquery

禁用该按钮工作正常,但我想要实现的不是为了维护而使用ID,因为此功能将重复多次。现在发生的事情是,由于按钮具有选择器,当我选择一个复选框时,两个按钮都被禁用。我试图使用.siblings()来启用另一个但是我迷路了。这是 fiddle 。有帮助吗?谢谢。

$('.remove-attr').siblings().attr('disabled', 'false');

3 个答案:

答案 0 :(得分:2)

我假设您正在尝试启用/禁用与复选框相关的按钮:

$('.is-selected').on('change', function () {
    $(this).closest('label').next('.remove-attr').prop('disabled', this.checked);
});

FIDDLE

答案 1 :(得分:2)

选择元素时需要更加小心,不要选择每个实例,而只是针对特定的实例。

我使用$(this).parent().parent().find('.remove-attr'),请参阅此处:http://jsfiddle.net/XEdcd/4/

答案 2 :(得分:1)

这应该有效。在单击函数内部,您需要确保引用所单击的元素,而不是所有具有该类的元素。然后有很多方法可以引用相关按钮。这可能很有用:http://api.jquery.com/category/traversing/

$('.remove-attr').removeAttr('disabled');

$('.is-selected').click(function () {
    if ($(this).is(':checked')) {
        $(this).parents('.controls').find('.remove-attr').attr('disabled', 'false');
    } else {
        $(this).parents('.controls').find('.remove-attr').removeAttr('disabled');
    }
});