Bunun için genelleştirilmiş bir çözüm arıyorum.
Aynı ada sahip 2 radyo tipi girişi düşünün. Gönderildiğinde, işaretlenen formla birlikte gönderilen değeri belirler:
<input type="radio" name="myRadios" onchange="handleChange1();" value="1" />
<input type="radio" name="myRadios" onchange="handleChange2();" value="2" />
Bir radyo düğmesinin seçimi kaldırıldığında change olayı başlatılmaz. Dolayısıyla, = "1" değerine sahip telsiz zaten seçiliyse ve kullanıcı ikinciyi seçerse, handleChange1 () çalışmaz. Bu da (benim için zaten) bir sorun yaratıyor, çünkü bu seçim seçimini yakalayabileceğim bir olay yok.
Ne istiyorum onay kutusu grup değeri için onchange olay veya alternatif olarak sadece bir radyo kontrol edildiğinde değil, aynı zamanda işaretli değil algılar bir oncheck olay için bir geçici çözümdür.
Eminim ki bazılarınız daha önce bu problemle karşılaştı. Bazı geçici çözümler nelerdir (ya da ideal olarak bununla başa çıkmanın doğru yolu nedir)? Sadece change olayını yakalamak, daha önce kontrol edilen radyoya ve yeni kontrol edilen radyoya erişmek istiyorum.
PS
onclick, bir radyonun ne zaman kontrol edildiğini belirtmek için daha iyi (çapraz tarayıcı) bir olay gibi görünüyor, ancak yine de kontrol edilmemiş sorunu çözmüyor.
Bir onay kutusu türü için onchange neden böyle bir durumda işe yaradığını, çünkü kontrol veya işaretini kaldırdığınızda gönderdiği değeri değiştirdiğini düşünüyorum. Radyo düğmelerinin bir SELECT elemanının değişmesi gibi davranmasını isterdim, ancak ne yapabilirsiniz?
myRadios
değişkeni okumak için , ad düğmeli radyo düğmelerinin her birinde tıklama olay işleyicileri ayarlanırprev
. Tıklanan radyonun saklanan radyo ile aynı olup olmadığına karar vermek için her tıklama işleyicisi içinde bir karşılaştırma yapılırprev
ve eğer değilse o anda tıklanan radyo orada saklanır. Tıklama işleyici içinde önceden seçilmişprev
olan radyoya ve şu anda seçili olan radyoya erişebilirsiniz :this