2013-06-21 73 views
0

禁用按鈕工作正常,但是我要實現的目的不是爲了維護而使用ID,因爲此功能會重複多次。現在發生的事情是,當我選擇複選框時,由於按鈕具有選擇器,所以兩個按鈕都被禁用。我試圖使用.siblings()來啓用另一個,但我迷路了。這是fiddle。任何幫助?謝謝。如果複選框被選中,禁用「添加」按鈕

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

回答

2

我假設你想啓用/禁用只涉及到的複選框按鈕:

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

FIDDLE

2

選擇元素時,你只需要更加小心,不是選擇每個實例,而是隻針對特定的實例。

我用$(this).parent().parent().find('.remove-attr'),在這裏看到:http://jsfiddle.net/XEdcd/4/

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'); 
    } 
}); 
相關問題