Skip to content

Instantly share code, notes, and snippets.

@sergejmueller
Created February 21, 2020 13:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sergejmueller/6d2d891d38d153d7fefec9fbc43e39f1 to your computer and use it in GitHub Desktop.
Save sergejmueller/6d2d891d38d153d7fefec9fbc43e39f1 to your computer and use it in GitHub Desktop.
Radio fields check and uncheck
<input type="radio" name="1" class="radio">
<input type="radio" name="1" class="radio">
<input type="radio" name="1" class="radio">
<input type="radio" name="1" class="radio">
<br>
<input type="radio" name="2" class="radio">
<input type="radio" name="2" class="radio">
<input type="radio" name="2" class="radio">
<input type="radio" name="2" class="radio">
document.querySelectorAll('[type=radio]').forEach(item => {
item.addEventListener('click', e => {
const inputElement = e.target;
const inputElementName = inputElement.getAttribute('name');
const previouslyChecked = inputElement.getAttribute('previously-checked');
if (previouslyChecked) {
inputElement.checked = false;
inputElement.removeAttribute('previously-checked');
} else {
const previouslyCheckedElement = document.querySelector('[name="' + inputElementName + '"][previously-checked]');
if (previouslyCheckedElement) {
previouslyCheckedElement.removeAttribute('previously-checked');
}
inputElement.setAttribute('previously-checked', 1);
}
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment