DenisKarakchiev
8/4/2017 - 10:38 AM

Unchecking radiobutton by second click on his label #js

Unchecking radiobutton by second click on his label #js

  function setUncheckable(name) {
    let allRadios = document.getElementsByName(name);
    let boolRadio;
    for (let i = 0; i < allRadios.length; i++) {
      allRadios[i].addEventListener('click', function() {

        if (boolRadio === this) {
          this.checked = false;
          boolRadio    = null;

        } else {
          boolRadio = this;
        }
      });
    }
  }

  setUncheckable('filters');
});
<label class="labelsome">
  <input id="radio-a" type="radio" name="q" value="A" class="radiosome">A
</label>
<label class="labelsome">
  <input id="radio-b" type="radio" name="q" value="B" class="radiosome">B
</label>
<label class="labelsome">
  <input id="radio-c" type="radio" name="q" value="C" class="radiosome">C
</label>