禁用该按钮工作正常,但我想要实现的不是为了维护而使用ID,因为此功能将重复多次。现在发生的事情是,由于按钮具有选择器,当我选择一个复选框时,两个按钮都被禁用。我试图使用.siblings()来启用另一个但是我迷路了。这是 fiddle 。有帮助吗?谢谢。
$('.remove-attr').siblings().attr('disabled', 'false');
答案 0 :(得分:2)
我假设您正在尝试启用/禁用与复选框相关的按钮:
$('.is-selected').on('change', function () {
$(this).closest('label').next('.remove-attr').prop('disabled', this.checked);
});
答案 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');
}
});