@RoadMoscow

Как скрыть/показать div в зависимости от выбранного radiobutton'а?

Есть такой код:

<div class="order__form-contacts">
						<div class="order__form-contacts--head">Контакты</div>
						<div class="order__form-label">
							<div class="order-radio">
								<label>
									<input type="radio" name="legal-status" value="1" id="legal-1" checked="">
									<span>Физическое лицо</span>
								</label>
							</div>
							<div class="order-radio">
								<label>
									<input type="radio" name="legal-status" value="2" id="legal-2">
									<span>Юридическое лицо</span>
								</label>
							</div>
						</div>
						<div class="order__form-input">
						                                    <input type="text" id="receiver" placeholder="Получатель" name="receiver" value="" class="required">
                                                            <input type="text" id="phone" placeholder="Телефон" name="phone" value="" class="">
                                                            <input type="text" id="email" placeholder="Email" name="email" value="" class="required">
                            						</div>
						<div class="order__form-file" id="file" style="display: none;">
							<label class="order__form-file--file">
								Прикрепить фаил с реквизитами
								<input type="file" multiple="">
							</label>
						</div>
					</div>

$(function() {
    $("#legal-2").click (function(){
      $("#file").stop().slideToggle(300); 
      $(this).next("#file").stop().slideUp(300);
    });
    $("#legal-1").click (function(){
      $("#file").stop().slideToggle(300); 
      $(this).next("#file").stop().slideUp(300);
    });
});

Идея такая, если клик по #legal-2, тогда показываем #file, а если клик по #legal-1, то скрываем #file, так и работает, только повторный клик по #legal-1 открывает #file. ВОПРОС: как исправить, чтобы #file показывался лишь по клику на #legal-2?
  • Вопрос задан
  • 1105 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const $form = $('.order__form-contacts').on('change', '[name="legal-status"]', e => {
  $form.find('.order__form-file')[e.target.value === '2' ? 'slideDown' : 'slideUp']();
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Do-oN
$(function() {
    $("#legal-2").click (function(){ 
      $("#file").slideDown(300);
    });
    $("#legal-1").click (function(){ 
      $("#file").slideUp(300);
    });
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы