Проблема с суммой значений

339
25 декабря 2016, 21:36

$(function() { 
  $(".test").click(function(){ 
    var a=$("#l_inpt_1").val(); 
    var b=$("#l_inpt_2").val(); 
    var c=$("#l_inpt_3").val(); 
    var sumS=(a+b+c)/3; 
    $(".midle_g p").append(sumS); 
  }); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" placeholder="Число 1" id="l_inpt_1"> 
<input type="text" placeholder="Число 1" id="l_inpt_2"> 
<input type="text" placeholder="Число 1" id="l_inpt_3"> 
<button class="test">Очистити поля</button> 
<div class="midle_g"> 
   <p></p> 
</div>

У нас есть 3 инпута допустим в них мы впишем числа 1,2,3 по нажатию на кнопку у нас должно найти среднее значения (1+2+3)/3=2, но проблема в том что сума отображает как 123 а не 6!Как исправить!?

Answer 1

У вас поля были добавлены не числами, а текстом. ParseFloat превращает текст в число

$(function() { 
  $(".test").click(function(){ 
    var a = parseFloat($("#l_inpt_1").val()); 
    var b = parseFloat($("#l_inpt_2").val()); 
    var c = parseFloat($("#l_inpt_3").val()); 
    var sumS = (a+b+c)/3; 
    $(".midle_g p").append(sumS); 
  }); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" placeholder="Число 1" id="l_inpt_1"> 
<input type="text" placeholder="Число 1" id="l_inpt_2"> 
<input type="text" placeholder="Число 1" id="l_inpt_3"> 
<button class="test">Очистити поля</button> 
<div class="midle_g"> 
   <p></p> 
</div>

READ ALSO
Удаление значения из куки

Удаление значения из куки

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

340
Как осуществить перевод куска кода LESS в SCSS?

Как осуществить перевод куска кода LESS в SCSS?

Сгенерировал спрайт с помощью этого сервиса ruspritegen

424
Функция умножения float чисел

Функция умножения float чисел

Пытаюсь написать функцию с переменным числом параметров без использования доп библиотекФункция такого вида: sum(int к-во элементов,элемент1,элемент2...

387