Maaf karena terlambat datang ke pesta, tapi saya melihat ada ruang untuk perbaikan di sini. Bukan tentang "nonaktifkan kotak teks", tetapi tentang pemilihan kotak radio dan penyederhanaan kode, membuatnya menjadi bukti masa depan yang lebih baik, untuk perubahan selanjutnya.
Pertama-tama, Anda tidak boleh menggunakan .each () dan menggunakan indeks untuk menunjukkan tombol radio tertentu. Jika Anda bekerja dengan serangkaian tombol radio yang dinamis atau jika Anda menambah atau menghapus beberapa tombol radio setelahnya, kode Anda akan bereaksi pada tombol yang salah!
Selanjutnya, tetapi itu tidak mungkin terjadi ketika OP dibuat, saya lebih suka menggunakan .on ('click', function () {...}) daripada click ...
http: //api.jquery. com / on /
Lst but not least, juga kode dapat dibuat lebih sederhana dan bukti masa depan dengan memilih tombol radio berdasarkan namanya (tapi itu sudah muncul di posting).
Jadi saya berakhir dengan kode berikut.
HTML (berdasarkan kode 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>
Kode JS
$("[name='rad1']").on('click', function() {
var disable = $(this).val() === "2";
$("#textbox1").prop("disabled", disable);
$("#checkbox1").prop("disabled", disable);
});
names bisa identik, tetapiids harus unik.