Используйте .closest()
и .find()
, например:
$("input.chk").click(function(){
$(this).closest('tr').find(".disabled").show();
});
Ваш текущий код почти работает, вам нужноa .find()
хотя, например так:
$(this).parent().parent().find(".disabled").show();
Если у вас есть много строк, подобных этой, используйте .delegate()
, напримерthis:
$("table").delegate("input.chk", "click", function(){
$(this).closest('tr').find(".disabled").show();
});
.delegate()
вместо этого связывает один обработчик с таблицей для всех элементов input.chk
, до которых всплывают пузырьки.Если вы хотите включить / отключить, используйте change
и .toggle()
в дополнение к вышеприведенному, например:
$("table").delegate("input.chk", "change", function(){
$(this).closest('tr').find(".disabled").toggle(this.checked);
});
Таким образом, если проверено, они показывают,если не они прячутся.