JSFiddle - React, Tailwind, and code Playground
HTML
<input type="radio" name="one" value="1">
<input type="radio" name="one" value="2">
<input type="radio" name="one" value="3">
<hr>
<input type="radio" name="two" value="1">
<input type="radio" name="two" value="2">
JavaScript
$('input[type="radio"]').each(function() {
var name = $(this).attr('name');
var that = this;
$('input[name="'+name+'"][type="radio"]').not(that).on('change', function(e, alreadyTriggered) {
if(!alreadyTriggered || alreadyTriggered.indexOf(this) == -1) {
if(!alreadyTriggered) {
alreadyTriggered = [that];
}
alreadyTriggered.push(this);
$(that).trigger('change', [alreadyTriggered]);
}
});
});
$('input[type="radio"]').change(function() {
console.log(Array.prototype.concat.apply([this], arguments));
$(this).fadeOut().fadeIn();
});