Я шукаю для цього узагальнене рішення.
Розглянемо 2 радіотехнічні входи з такою ж назвою. Після надсилання те, що перевіряється, визначає значення, яке надсилається за допомогою форми:
<input type="radio" name="myRadios" onchange="handleChange1();" value="1" />
<input type="radio" name="myRadios" onchange="handleChange2();" value="2" />
Подія зміни не спрацьовує, якщо вибрано перемикач. Отже, якщо радіо зі значенням = "1" вже вибрано, а користувач вибирає друге, handleChange1 () не запускається. Це створює проблему (для мене в будь-якому випадку) у тому, що немає жодної події, де я міг би впіймати цей відбір.
Мені б хотілося вирішити події onchange для значення групи прапорець або, як альтернатива, подія перевірки, яка виявляє не лише коли перевіряється радіо, але і коли воно не встановлено.
Я впевнений, що хтось із вас раніше стикався з цією проблемою. Які існують певні шляхи вирішення (або в ідеалі, що це правильний спосіб впоратися)? Я просто хочу спіймати подію зміни, отримати доступ до раніше перевіреного радіо, а також щойно перевіреного радіо.
PS
onclick здається кращою (крос-браузерною) подією, щоб вказати, коли радіо перевіряється, але це все ще не вирішує неперевірену проблему.
Я припускаю, що має сенс, чому onchange для типу прапорець працює у подібному випадку, оскільки він змінює значення, яке воно подає, коли ви перевіряєте чи скасовуєте його. Я хочу, щоб кнопки радіо поводилися більше як зміна елемента SELECT, але що ви можете зробити ...
myRadios
щоб прочитати змінну,prev
яка містить вибране в даний час радіо. Здійснюється порівняння в кожному обробнику кліків, щоб визначити, чи радіо, яке натиснули, таке саме, як у збереженому,prev
а якщо ні, то в ньому зберігається радіо, яке в даний момент натиснуто. У межах обробника клацань ви маєте доступ до обраного раніше:prev
та поточно вибраного радіо:this