У меня несколько HTML блоков, содержащих переключатели или флажки.
Для некоторых ответов отображается другая группа переключателей или флажков.
Проблема в том, что после проверки третьего варианта, если пользователь меняет свой выбор на другой вариант, он не скрывает параметры подуровня.
jsFiddler находится здесь: https://jsfiddle.net/j8n4rhug/
$('.form-group-outer > label').find('> input:checkbox, > input:radio').on('click', function() {
el = $(this).closest('.form-group').find('.sub-question');
if(el.length > 0) { el.css('display', 'block'); }
else {
$('.sub-question').css('display', 'none');
$('.sub-question :input[type="radio"], .sub-question :input[type="checkbox"]').each(function(index){
$(this).prop('checked', false);
});
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div data-step="1" class="tab">
<h3>Question 1</h3>
<div class="form-group form-group-outer">
<label class="container_check">Answer 1
<input type="checkbox" name="q1[]" value="1" class="required">
<span class="checkmark"></span>
</label>
<div class="row sub-question" style="display:none">
<h3 class="col-12">Specify answer for Answer 1</h3>
<div class="row">
<div class="form-group col-4">
<label class="container_radio">1 text
<input type="radio" name="q1_1[]" value="1" class="required">
<span class="checkmark"></span>
</label>
</div>
<div class="form-group col-4">
<label class="container_radio">2 texts
<input type="radio" name="q1_1[]" value="2" class="required">
<span class="checkmark"></span>
</label>
</div>
<div class="form-group col-4">
<label class="container_radio">3 texts
<input type="radio" name="q1_1[]" value="3" class="required">
<span class="checkmark"></span>
</label>
</div>
</div>
</div>
</div>
<div class="form-group form-group-outer">
<label class="container_check">Answer 2
<input type="checkbox" name="q2[]" value="2" class="required">
<span class="checkmark"></span>
</label>
<div class="row sub-question" style="display:none">
<h3 class="col-12">Specify answer for Answer 2</h3>
<div class="row">
<div class="form-group col-4">
<label class="container_check">Textes
<input type="checkbox" name="q2_1[]" value="1">
<span class="checkmark"></span>
</label>
</div>
<div class="form-group col-4">
<label class="container_check">Photos
<input type="checkbox" name="q2_1[]" value="2">
<span class="checkmark"></span>
</label>
</div>
<div class="form-group col-4">
<label class="container_check">Vidéos
<input type="checkbox" name="q2_1[]" value="3">
<span class="checkmark"></span>
</label>
</div>
</div>
</div>
</div>
<div class="form-group">
<label class="container_check">Answer 3
<input type="checkbox" name="q3[]" value="3" class="required">
<span class="checkmark"></span>
</label>
</div>
</div>