Не возвращается результат в переменной jQuery

153
17 сентября 2018, 21:50

Не могу понять, почему не срабатывает калькуляция в коде:

$(document).ready(function(){ 
  if ($('#type1:checked')) { 
    var shed   = base+distance+size1+rubber; 
  } else if ($('#type2:checked')) { 
    var shed   = base+distance+size2+rubber; 
  } else if ($('#type3:checked')) { 
    var shed   = base+distance+size3+rubber; 
  } else if ($('#type4:checked')) { 
    var shed   = base+distance+size3+rubber; 
  } else ($('#type5:checked')) { 
    var shed   = base2+distance+size4+rubber; 
  } 
  $('#last__par_count').html(shed); 
});

В тег с id=last__par_count не заносится результат вычислений. Во всех имеющихся переменных есть значения.

Answer 1

Вы неправильно проверяете чекбокс:

$(document).ready(function(){ 
  var shed = ""; 
  if ($('#type1').is(':checked')) { 
    shed = base+distance+size1+rubber; 
  } else if ($('#type2').is(':checked')) { 
    shed = base+distance+size2+rubber; 
  } else if ($('#type3').is(':checked')) { 
    shed = base+distance+size3+rubber; 
  } else if ($('#type4').is(':checked')) { 
    shed = base+distance+size3+rubber; 
  } else if ($('#type5').is(':checked')) { 
    shed = base2+distance+size4+rubber; 
  } 
  $('#last__par_count').html(shed); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Answer 2

Кроме ошибки синтаксиса, все условия неверные - всегда будет выполняться блок кода под первым if-ом, так как даже пустой объект-обертка jQuery соответствует булевскому true.

$(document).ready(function(){
  var shed = "";
  if ($('#type1:checked').length) {
    shed = base + distance + size1 + rubber;
  } else if ($('#type2:checked').length) {
    shed = base + distance + size2 + rubber;
  } else if ($('#type3:checked').length) {
    shed = base + distance + size3 + rubber;
  } else if ($('#type4:checked').length) {
    shed = base + distance + size3 + rubber;
  } else if ($('#type5:checked').length) {
    shed = base2 + distance + size4 + rubber;
  }
  $('#last__par_count').html(shed);
});
READ ALSO
Два селектора на одном уровне DOM, jQuery

Два селектора на одном уровне DOM, jQuery

Корректна ли данная запись выборки?; чтобы здесь выполнилось логическое И: Нужно выбрать элементы на странице с id="size7" и id="size8"

129
MSCRM как реализовать поиск через SDK

MSCRM как реализовать поиск через SDK

мне нужно из своего приложения сделать запрос в MCCRM и найти данныев целях обученения и тестирования сделал консольное приложение, в данный...

151
Почему метод не проходит тест?

Почему метод не проходит тест?

Есть такой вот класс и тест не проходит только метод сохранения

186
Как убить вечный цикл в DataContext?

Как убить вечный цикл в DataContext?

Есть класс-обертка над HttpListenerЗапускает listener сразу из конструктора

148