我想计算每个文本字段中的特定百分比,并计算总成绩

时间:2014-02-12 01:31:32

标签: javascript jquery html

<tr>
    <td>Knowledge</td>
    <td><input type="text" name="Knowledge" style="height: 30px; width: 220px;" class="computethis" id="knowledge" Placeholder = "Enter Grade"  autocomplete ="off" /></td>
</tr>
<tr>
    <td>Understanding</td>
    <td><input type="text" name="understanding" style="height: 30px; width: 220px;" class="computethis" id="understanding" Placeholder = "Enter Grade"  autocomplete ="off"  /></td>
</tr>
<tr>
    <td>Process or Skills</td>
    <td><input type="text" name="process" style="height: 30px; width: 220px;" class="computethis" id="process" Placeholder = "Enter Grade"  autocomplete ="off"  /></td>
</tr>
<tr>
    <td>Performance or Products</td>
    <td><input type="text" name="performance" style="height: 30px; width: 220px;" class="computethis" id="products"  Placeholder = "Enter Grade"  autocomplete ="off" /></td>
</tr>
<tr>
    <td>Grade Total </td>
    <td><input type="textbox" name="grade" style="height: 30px; width: 220px;" id="totalgrade" Placeholder = "Average Total"  autocomplete ="off"  readonly="readonly"></td>
</tr>
<tr>
    <td></td>
</tr>   
<tr>        
    <td colspan='2'><button class="btn btn-info" style="40px" id="save_button" Onclick="insert();"><i class="fa fa-floppy-o"> Save Grade</i></button><span class="alert alert-success" id="loading"></span></td>
</tr>

我只是让每个文本框各占25%;

<script>
    // computation of average
    jQuery(".computethis").keyup(function(){
        var sum = 0;
        var avg = 0;
        jQuery('.computethis').each(function() {
            sum += Number(jQuery(this).val());
        });

        var $allx = jQuery(':text.computethis');
        var $emptyx = $allx.filter('[value=""]');
        var num = $allx.length - $emptyx.length ;
        if(num > 0) { avg = Number(sum/num); }
        //  jQuery('#prj_usgtot').val(sum);
        jQuery('#totalgrade').val(avg.toPrecision(2));
    });
</script>

如何获得每个textfield一个特定的百分比,onkeyup它应该自动计算平均值以获得总成绩。

1 个答案:

答案 0 :(得分:0)

抱歉,我还无法发表评论,但为什么不创建一个能够获得i ++的i? 在你的HTML中,它应该只是文本。文本框不是一种类型。 这个问题在哪里?

在这里,我有一些你可能喜欢的工作。 它还检查是否只有数字

$(this).val().match(/^\d+$/)

http://jsfiddle.net/4Buk5/