Perdón por llegar tan tarde a la fiesta, pero veo que hay margen de mejora aquí. No se trata de "desactivar cuadro de texto", sino de la selección de radionbox y la simplificación del código, lo que lo hace un poco más a prueba de futuro, para cambios posteriores.
En primer lugar, no debe usar .each () y usar el índice para señalar un botón de opción específico. Si trabaja con un conjunto dinámico de botones de opción o si agrega o elimina algunos botones de opción posteriormente, ¡su código reaccionará con el botón incorrecto!
A continuación, pero ese no fue probablemente el caso cuando se hizo el OP, prefiero usar .on ('click', function () {...}) en lugar de click ...
http: //api.jquery. com / on /
En primer lugar, pero no menos importante, también el código podría hacerse más simple y a prueba de futuro seleccionando el botón de opción en función de su nombre (pero que ya apareció en una publicación).
Así que terminé con el siguiente código.
HTML (basado en el código de okw)
<span id="radiobutt">
<input type="radio" name="rad1" value="1" />
<input type="radio" name="rad1" value="2" />
<input type="radio" name="rad1" value="3" />
</span>
<div>
<input type="text" id="textbox1" />
<input type="checkbox" id="checkbox1" />
</div>
Código JS
$("[name='rad1']").on('click', function() {
var disable = $(this).val() === "2";
$("#textbox1").prop("disabled", disable);
$("#checkbox1").prop("disabled", disable);
});
nameLos s pueden ser idénticos, pero losids deben ser únicos.