<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它应该自动计算平均值以获得总成绩。
答案 0 :(得分:0)
抱歉,我还无法发表评论,但为什么不创建一个能够获得i ++的i? 在你的HTML中,它应该只是文本。文本框不是一种类型。 这个问题在哪里?
在这里,我有一些你可能喜欢的工作。 它还检查是否只有数字
$(this).val().match(/^\d+$/)