Вам нужно подойти к родителю td
и найти оттуда следующий флажок:
var n = $(this).parent().nextAll().has(":checkbox").first().find(":checkbox");
Получает td
с использованием parent
, затем получает всех следующих братьев и сестер (nextAll
) из этого td
, уменьшает соответствующий набор только до тех td
элементов, которые содержат флажок (has
) и затем получают первый (first
) в оставшемся наборе.
Обратите внимание, что disabled
является свойством, и вы должны использовать prop
для его установки, а не attr
:
n.prop("disabled", true);
Проблема, с которой вы столкнулись, заключается в том, что вы ищете одноуровневых флажков, и в вашем примере HTML у них нет одноуровневых элементов.