По какой-то причине этот код вызывает предварительное заполнение всех переключателей в соответствии с выбранным. Это всегда последний в группе - PullRequest
0 голосов
/ 28 февраля 2020

У меня есть эта группа из трех переключателей. Если выбран вариант с надписью In-Home, на странице появится новая форма для заполнения. Это все работает нормально. ОДНАКО по какой-то причине этот код также вызывает предварительное заполнение всех групп переключателей при загрузке страницы. Например, если у меня есть группа из 4 кнопок, 4-я предварительно выбирается при загрузке, если это группа из 6, 6-я выбирается при загрузке и так далее по всей странице. Я сузил его до этого кода ...

//SHOW/HIDE BACKUP V
$('input[type="radio"]').click(function(){

    if($(this).attr("value")=="location"){
        $(".Box").hide('slow');
    }
    if($(this).attr("value")=="hub"){
        $(".Box").hide('slow');
    }
    if($(this).attr("value")=="inHome"){
        $(".Box").show('slow');

    }        
});
$('input[type="radio"]').trigger('click');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-6">
  <b><u>Backup Ventilator </u></b><b><u>Interface </u></b><br>
  <span>
  <input id="showBackup" value="location" name="F429_backupAtLocRadio" type="radio">
  </span><span>Location 
  <input id="showBackup" value="hub" name="F429_backupAtLocRadio" type="radio">
  </span><span>Hub 
  <input id="showBackup" class="backUp" value="inHome" name="F429_backupAtLocRadio" type="radio">
  </span>In Home 
</div>

1 Ответ

0 голосов
/ 29 февраля 2020
  1. Remove $('input[type="radio"]').trigger('click');.
  2. Удалите избыточные идентификаторы из ваших элементов радиовхода и добавьте / обновите для каждого атрибута класса уникальное имя класса ex. class='backup-ventilator-radio'.
  3. Изменить селектор обработчика щелчков с $('input[type="radio"]') на $('.backup-ventilator-radio').

Похоже, что ваш обработчик запускается действием других групп переключателей в ваш дом, потому что селектор приемника щелчка является общим c.

...