Saya mencari solusi umum untuk ini.
Pertimbangkan 2 input jenis radio dengan nama yang sama. Saat dikirimkan, yang diperiksa menentukan nilai yang dikirim dengan formulir:
<input type="radio" name="myRadios" onchange="handleChange1();" value="1" />
<input type="radio" name="myRadios" onchange="handleChange2();" value="2" />
Acara perubahan tidak menyala ketika tombol radio tidak dipilih. Jadi jika radio dengan nilai = "1" sudah dipilih dan pengguna memilih yang kedua, handleChange1 () tidak berjalan. Ini menghadirkan masalah (bagi saya toh) karena tidak ada peristiwa di mana saya dapat menangkap seleksi-de ini.
Apa yang saya inginkan adalah solusi untuk acara onchange untuk nilai grup kotak centang atau sebagai alternatif aktivitas oncheck yang mendeteksi tidak hanya ketika radio dicentang tetapi juga saat tidak dicentang.
Saya yakin beberapa dari Anda pernah mengalami masalah ini sebelumnya. Apa saja pemecahan masalah (atau idealnya apa cara yang tepat untuk menangani ini)? Saya hanya ingin menangkap perubahan acara, mengakses radio yang sebelumnya diperiksa serta radio yang baru diperiksa.
PS
onclick sepertinya acara (lintas-peramban) yang lebih baik untuk menunjukkan kapan radio diperiksa tetapi masih tidak menyelesaikan masalah yang tidak dicentang.
Saya kira masuk akal mengapa pertukaran untuk jenis kotak centang tidak berfungsi dalam kasus seperti ini karena ini mengubah nilai yang dikirimkan ketika Anda memeriksa atau tidak mencentangnya. Saya berharap tombol radio berperilaku lebih seperti pertukaran elemen SELECT tetapi apa yang dapat Anda lakukan ...
myRadios
untuk membaca variabelprev
yang memegang radio yang saat ini dipilih. Perbandingan dilakukan di dalam setiap penangan klik untuk memutuskan apakah radio yang diklik sama dengan yang disimpanprev
dan jika tidak, radio yang saat ini diklik disimpan di sana. Di dalam pengendali klik, Anda memiliki akses keprev
radio yang sebelumnya dipilih: dan radio yang saat ini dipilih:this