Скажем, у меня есть группа из двух переключателей:
<input type="radio" name="radioButtonGroup" value="button1" checked="true"/>
<input type="radio" name="radioButtonGroup" value="button2"/>
Кажется, что нажатие на вторую кнопку инициировало обработчик событий на той кнопке только. Однако первая кнопка действительно становится невыбранной и визуально изменяется. Кто-либо может проверить, что события запущены только на кнопке, которая была нажата, и не какая-либо из других кнопок в группе, которые становятся невыбранными в результате щелчка? Какие-либо умные способы наблюдать переключатель за событием отмены выбора?
Я не могу подтвердить, что событие запускается только для выбранной кнопки, но если вам нужно что-то сделать с кнопкой, выбор которой только что был отменен, сработает следующее:
$(document).ready(function(){
var selectedRadio = null;
$("input:radio").change(function(){
if(selectedRadio != null){
alert(selectedRadio.val());
}
selectedRadio = $(this);
});
});
В действии здесь .
Если вам нужно отслеживать несколько групп переключателей, вы можете сделать это с помощью массива текущих выбранных кнопок и сопоставить в этом массиве при обнаружении изменения.