JSFiddle - React, Tailwind, and code Playground
HTML
<div class="options">
<span class="option_radio">
<input type="radio" name="payMethod" id="payMethod1" value="aaa" >
</span>
<span class="option_image">
<label for="payMethod1">
<img src="http://placehold.it/350x150" >
</label>
</span>
</div>
CSS
.checked {
background-color: black;
}
JavaScript
var payMethod = document.querySelector('#payMethod1');
payMethod.onchange = function() {
alert('clicked')
// Get span and div
if(this.checked) {
var elements = document.querySelectorAll('.option_radio, .options');
// Loop elements & add class
for(var i = 0; i < elements.length; i++) {
if (elements[i].classList)
elements[i].classList.add("checked");
else
elements[i].className += ' checked';
}
}
};
// jQuery implementation
// $('#payMethod1').change(function() {
// if($(this).is(':checked')) {
// $('.option_radio, .options').addClass('checked');
// }
// });