1

我想获得填充文本框值的平均值并在平均文本框中显示

问题:我可以计算填充文本框的总和但我不知道如何获得填充文本框的数量并获得它们的平均值如果两个文本框是值为 5 和 6 的文件,那么总数应该是 11 和平均值应为 5.5 (11/2)

我的代码在下面请检查

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 
     });
4

1 回答 1

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));
    });
于 2013-07-11T16:07:29.147 回答