@game802

Каким образом можно отрефакторить такой код?

Добрый день, уважаемые знатоки. Каким образом можно отрефакторить этот код так, чтобы он выглядел более лаконичнее?

$('.side input[type="checkbox"]').on('click', function() {
  if ($('.side input[type="checkbox"]').is(':checked') ) {
    $('.side .auto_recharge-text').addClass('active');
  } else {
    $('.side .auto_recharge-text').removeClass('active');
  }
});

$('.side .auto_recharge-text').on('click', function() {
  if ($('.side input[type="checkbox"]').is(':checked') ) {
    $('.side input[type="checkbox"]').prop("checked", false);
    $('.side .auto_recharge-text').removeClass('active');
  } else {
    $('.side input[type="checkbox"]').prop("checked", true);
    $('.side .auto_recharge-text').addClass('active');
  }
});

Большое спасибо за помощь!
  • Вопрос задан
  • 130 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
$('.side input[type="checkbox"]').on('click', function() {
  $('.side .auto_recharge-text').toggleClass('active', $(this).is(':checked'));
});

$('.side .auto_recharge-text').on('click', function() {
  var isChecked = $('.side input[type="checkbox"]').is(':checked');
  $(this).toggleClass('active', !isChecked);
  $('.side input[type="checkbox"]').prop("checked", !isChecked);
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@string001
Я сам новичок, но мне кажется слишком много однотипных обращений
.side input[type="checkbox"]
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы