Partiye bu kadar geç kaldığım için özür dilerim, ama burada biraz iyileştirme alanı görüyorum. "Metin kutusunu devre dışı bırakma" ile ilgili değil, radyon kutusu seçimi ve kod sadeleştirmesi ile ilgili, daha sonraki değişiklikler için biraz daha ileriye dönük hale getiriyor.
Her şeyden önce, .each () kullanmamalı ve belirli bir radyo düğmesini göstermek için dizini kullanmamalısınız. Dinamik bir radyo düğmeleri kümesiyle çalışırsanız veya daha sonra bazı radyo düğmeleri ekler veya kaldırırsanız, kodunuz yanlış düğmeye tepki verir!
Sonra, ama OP yapıldığında muhtemelen durum böyle değildi, ben http: //api.jquery öğesini click ... yerine .on ('click', function () {...}) kullanmayı tercih
ederim. Hadi ama/
İlk olarak, ancak en önemlisi, kodun adına göre radyo düğmesi seçilerek daha basit ve ileride kanıtlanabilir (ancak bu zaten bir gönderide göründü).
Bu yüzden aşağıdaki kodu elde ettim.
HTML (okw koduna göre)
<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>
JS kodu
$("[name='rad1']").on('click', function() {
var disable = $(this).val() === "2";
$("#textbox1").prop("disabled", disable);
$("#checkbox1").prop("disabled", disable);
});
names aynı olabilir, ancakidbenzersiz olmalıdır.