2013-07-01 1 views
1

Я хочу, чтобы получить средние заполненных значения текстового поля и показать, что в среднем текстовом полеПолучить Average нынешнего заполнения текстовых полей в JQuery

Проблема: Я могу вычислить сумму заполненного поля Но я не являюсь конечно, как получить номер заполненного текстового поля и получить Среднее из них Как если бы два текстовых поля были со значениями 5 и 6, тогда общее число должно составлять 11, а среднее должно быть 5,5 (11/2)

My код ниже, пожалуйста, проверьте

HTML-файл

<input type="text" value="" name="prj_usgjan" class="prj_usage" id="prj_usgjan"> 
<input type="text" value="" name="prj_usgfeb" class="prj_usage" id="prj_usgfeb"> 
<input type="text" value="" name="prj_usgmar" class="prj_usage" id="prj_usgmar"> 
<input type="text" value="" name="prj_usgapr" class="prj_usage" id="prj_usgapr"> 
<input type="text" value="" name="prj_usgmay" class="prj_usage" id="prj_usgmay"> 
<input type="text" value="" name="prj_usgjun" class="prj_usage" id="prj_usgjun"> 
<input type="text" value="" name="prj_usgjul" class="prj_usage" id="prj_usgjul"> 
<input type="text" value="" name="prj_usgaug" class="prj_usage" id="prj_usgaug"> 
<input type="text" value="" name="prj_usgsep" class="prj_usage" id="prj_usgsep"> 
<input type="text" value="" name="prj_usgoct" class="prj_usage" id="prj_usgoct"> 
<input type="text" value="" name="prj_usgnov" class="prj_usage" id="prj_usgnov"> 
<input type="text" value="" name="prj_usgdec" class="prj_usage" id="prj_usgdec"> 
<input type="text" readonly="readonly" name="prj_usgtot" class="prj_usgtot" id="prj_usgtot"> 
<input type="text" readonly="readonly" name="prj_usgavg" class="prj_usgavg" id="prj_usgavg"> 

Js Файл

jQuery(".prj_usage").keyup(function(){ 
     var sum = 0; 
     jQuery('.prj_usage').each(function() { 
      sum += Number(jQuery(this).val()); 
     }); 
      jQuery('#prj_usgtot').val(sum); // get the sum and show that in total text box 
    }); 

ответ

1

Здесь я найти решение, попробуйте следующее: -

jQuery(".prj_usage").keyup(function(){ 
     var sum = 0; 
     var avg = 0; 
      jQuery('.prj_usage').each(function() { 
      sum += Number(jQuery(this).val()); 
      }); 

     var $allx = jQuery(':text.prj_usage'); 
     var $emptyx = $allx.filter('[value=""]'); 
     var num = $allx.length - $emptyx.length ; 
     if(num > 0){ avg = Number(sum/num); } 
     jQuery('#prj_usgtot').val(sum); 
     jQuery('#prj_usgavg').val(avg.toFixed(2)); 
    }); 
Смежные вопросы