Javascript Html总和复选框

Javascript Html总和复选框,javascript,html,Javascript,Html,这是我的html代码 <tr> <td style="width: 200px" >&nbsp;&nbsp;<label> Subject</label>&nbsp;</td> <label class="checkbox"> <td colspan="1"><input value="50" type="checkbox" class

这是我的html代码

<tr>
        <td style="width: 200px" >&nbsp;&nbsp;<label> Subject</label>&nbsp;</td>
        <label class="checkbox">
        <td colspan="1"><input value="50" type="checkbox" class="sum" data-toggle="checkbox"> Bahasa Malaysia
        </label>
        <label class="checkbox">
        <td colspan="1"><input value="50" type="checkbox" class="sum" data-toggle="checkbox">Bahasa Inggeris</td>
        </label>
        <label class="checkbox">
        <td colspan="1"><input value="50" type="checkbox" class="sum" data-toggle="checkbox"> Bahasa Cina</td>
        </label>
        <label class="checkbox">
        <td colspan="1"><input value="50" type="checkbox" class="sum" data-toggle="checkbox"> Mathematic</td>
        </label>
        <label class="checkbox">
        <td colspan="1"><input value="50" type="checkbox" class="sum" data-toggle="checkbox"> Math Tambahan</td>
        </label>
    </tr>

主题
马来西亚语
巴哈萨英格里斯酒店
华文
数学的
数学坦巴汉
这是我的javascript

   var inputs = document.getElementsByClassName('sum'),
    total  = document.getElementById('fees');

  for (var i=0; i < inputs.length; i++) {
    inputs[i].onchange = function() {
        var add = this.value * (this.checked ? 1 : -1);
        total.value = parseFloat(total.value) + add
    }
}
var inputs=document.getElementsByClassName('sum'),
总计=document.getElementById(“费用”);
对于(变量i=0;i

我现在面临的问题是,当我勾选复选框时,该值不能出现在文本字段中,每个复选框的值都是50,当我勾选它时,它将出现在文本框中,并将所有值相加。但我现在得到的值是Nan。请帮我解释一下。谢谢

从技术上讲,复选框值是一个字符串,而不是一个数字。您需要将其转换为数字:

var inputs = document.getElementsByClassName('sum'),
     total = document.getElementById('fees');

 for (var i = 0; i < inputs.length; i++) {
     inputs[i].onchange = function () {
         /* Use parseInt(this.value) otherwise it is a String */
         var add = parseInt(this.value) * (this.checked ? 1 : -1); 
         total.value = parseFloat(total.value) + add
     }
 }
var inputs=document.getElementsByClassName('sum'),
总计=document.getElementById(“费用”);
对于(变量i=0;i

onChange=“Add()”
添加到每个输入中

然后使用以下javascript

var inputs = document.getElementsByClassName('sum'),
var total = document.getElementById('fees');

var add = function () {
    var amount = 0;
    for (var i = 0; i < inputs.length; i++) {
       if (inputs[i].checked === true) {
            amount += parseInt(inputs[i].value, 10);
        }
    }
    console.log(amount);
};
var inputs=document.getElementsByClassName('sum'),
var total=document.getElementById(“费用”);
var add=函数(){
风险价值金额=0;
对于(变量i=0;i


你不能使用jQuery吗?因为我学不懂jQuery,所以我不知道怎么写,但你能帮我编码吗?我保留Nan值。你可以通过调用函数
isNan(number)
检查值是否为Nan,如果是,你可以将
0
分配给它。我不知道要写这个,请帮助我,我是初学者,但文本字段仍然出现。这是什么?您刚刚复制并添加了console语句。甚至不说你需要解析的单词(this.value);