0

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

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

3 回答 3

2

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

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

小提琴

于 2013-06-21T22:40:27.230 回答
2

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

我用过$(this).parent().parent().find('.remove-attr'),见这里:http: //jsfiddle.net/XEdcd/4/

于 2013-06-21T22:41:08.863 回答
1

这应该有效。在您的 click 函数中,您要确保引用被单击的元素,而不是该类的所有元素。然后有很多方法可以引用相关按钮。这可能有用: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');
    }
});
于 2013-06-21T22:49:15.003 回答