使用jQuery计算具有相同类的输入值

时间:2012-12-03 07:50:39

标签: jquery html

我需要编写一个脚本来计算工作时间。我有一张桌子,有六个可能的小时数,需要在底部的一个字段中加在一起。

HTML看起来像这样:

<table>
 <tr>
  <td><input type="text" name="amount[]" class="countAmount"></td>
  <td>(...)</td>
 </tr>
 <tr>
  <td><input type="text" name="amount[]" class="countAmount"></td>
  <td>(...)</td>
 </tr>
 <tr>
  <td><input type="text" name="amount[]" class="countAmount"></td>
  <td>(...)</td>
 </tr>
 <tr>
  <td>Total: <span id="total"></span></td>
 </tr>
</table>

我试图将类countAmount的值计算在一起。

我不知道从哪里开始使用jQuery代码。我尝试的一切都没用,但主要的问题是如何处理空值以及如何将值作为INT来处理。

1 个答案:

答案 0 :(得分:2)

要查找输入:

var inputs = $('input.countAmount');

转换为数字并处理空白:

var num = parseInt($(input).val(), 10);
if (!isNaN(num)) {
    // It's a valid number, not blank, not "a" or "q", etc.
}

要循环播放它们,请使用each

所以:

var total = 0;
$('input.classAmount').each(function() {
    var num = parseInt(this.value, 10);
    if (!isNaN(num)) {
        total += num;
    }
});

...因为在循环内,this将是input,要获取输入的值,您不需要jQuery,value属性就可以了。< / p>

然后将其放入total范围:

$("#total").text(String(total));