@kellyhelly

Почему тумблер не меняет значение в калькуляторе?

Здравствуйте!

На сайте есть калькулятор и там 2 строки с тумблерами, при включении которых должно меняться значение. Но почему-то с первым переключателем это срабатывает, а вот со вторым нет. Подскажите, как исправить?

Коды двух переключателей:
<div class="price-block">
                              <div class="step-price">
                                  <p class="unactive-price new-price" itemprop="price" content="1000"> + 1 000 ₽</p>
                              </div>
                              <input type="checkbox" name="checkbox1" id="checkboxEditUstav" class="step-selector">
                              <label for="checkboxEditUstav" class="checkbox-label" data-off="off" data-on="on"></label>
                          </div>

<div class="price-block">
                              <div class="step-price">
                                  <p class="unactive-price new-price" itemprop="price" content="1000"> + 1 000 ₽</p>
                              </div>
                              <input type="checkbox" name="checkbox2" id="checkboxDoc" class="step-selector">
                              <label for="checkboxDoc" class="checkbox-label" data-off="off" data-on="on"></label>
                          </div>


Код скрипта:

$('.confrim-close').click(function () {
  $('.confrim-wrapper').fadeOut();
})
$('.calculator__submit').click(function () {
  $('.confrim-wrapper').fadeIn();
})
$('.confrim-form__submit').click(function (e) {
  e.preventDefault();
  msg = $('.calculator').data('msg');
  nameForComagic = $('.confrim-form__name').val();
  phoneForComagic = $('.confrim-form__phone').val();
  if(costDoc == 1000){
    msg = msg + '\n' + 'Подготовка новой редакции Устава : 1000 руб.'
  }else{
    if(costDoc == 0){
      msg = msg + '\n' + 'Подготовка новой редакции Устава : нет 0 руб.'
    }
  }
  if(costEdit == 1000){
    msg = msg + '\n' + 'Смена региона : 1000 руб.'
  }else{
    msg = msg + '\n' + 'Смена региона : нет 0 руб.'
  }
msg = msg + '\n' + 'Итого: '+ costFinal +' руб.'

  if(phoneForComagic[17] == '_' && phoneForComagic == ''){
          $('.confrim-form__phone').css({'border': '1px solid red'});
      }else{
          $('.confrim-form__phone').css({'border': '1px solid #dedede'});
      }
      if(nameForComagic.length == ''){
              $('.confrim-form__name').css({'border': '1px solid red'});
          }else{
              $('.confrim-form__name').css({'border': '1px solid #dedede'});
          }

      if(nameForComagic.length !== 0 && phoneForComagic[17] != '_' && phoneForComagic.length !== 0){
       Comagic.addOfflineRequest({'name': nameForComagic, 'phone': phoneForComagic, 'message': msg});
$('.confrim-form').fadeOut();
$('.confrim-message').fadeIn();
     }


})
function checkTime(){
  if(costDoc == 1000){
    $('.costs-p--gos').html(' 800 ₽');
  }else{
   $('.costs-p--gos').html(' 0 ₽');
  }
  if(costEdit == 1000){
    $('.costs-p--gos').html(' 800 ₽');
  }else{
    $('.costs-p--gos').html(' 0 ₽');
  }
}

$("#checkboxEditUstav").change(function() {

    if(this.checked) {

        $(".calculator__step--two .new-price").removeClass('unactive-price')
        costEdit = 1000;
        refreshCalculatorPrice();
    }else{
      costEdit = 0;
      $(".calculator__step--two .new-price").addClass('unactive-price')
      refreshCalculatorPrice();
    }
    checkTime();
});
$("#checkboxDoc").change(function() {

    if(this.checked) {
        costDoc = 1000;
        $(".calculator__step--three .new-price").removeClass('unactive-price')
        refreshCalculatorPrice();
    }else{
      costDoc = 0;
      $(".calculator__step--three .new-price").addClass('unactive-price')
        refreshCalculatorPrice();
    }
    checkTime();
});
//vars
var costDoc = 0,
costEdit = 0,
costDefault = 1500,
costFinal = 1500,
nameForComagic,
phoneForComagic,
time = false,
finalText,
msg

   function refreshCalculatorPrice(){
     costFinal = costEdit + costDoc + costDefault;
     finalText = parseInt(costFinal / 1000) + ' '
     if((costFinal % 1000)== 0){
       finalText = finalText + '000'
     }else{
       finalText = finalText + (costFinal % 1000)
     }
        $('.for-calculator-js').empty().html(finalText)

   }
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
@kellyhelly Автор вопроса
Решила проблему, разделив function checkTime() на 2 и задав им разные имена. Теперь тумблеры работают как надо! :)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект