javascript - 输入相应行中的数字时动态计算 - Javascript

标签 javascript php

学生行中有 m 个学生n 个条件 列,同一行中有一个总计列。但仅输入相应行的数字时,必须动态计算总数。需要什么修改?以这种方式,第一行中的所有输入被求和。但只需要逐行求和。

<script>
    var num=[];
    function recalculate(rowData,studCode) {        
        var n = document.getElementById('criteria_count').value;    
        num.push(parseFloat(document.getElementById('criteria_mark_'+rowData).value));
        var total=0;

        for (var i = 0; i <n; i++) {
            total = total + parseFloat(num[i]) ;
            if (!isNaN(total)) {
                document.getElementById('total_mark_'+studCode).value = Math.round(total);
            }
        }      
    }
</script>

最佳答案

希望我正确理解您的要求。我制作了一个 JSFiddle 详细说明了如何实现您所解释的内容(假设我正确理解了您)。

https://jsfiddle.net/z0d4y8ao/12/

这会遍历指定行上的每一行,计算总数并将其单独放入结果元素中。

如果您使用此代码,请记住它是原始 JavaScript,您必须自己找到结果,以便可以插入总值(我个人使用服务器端语言创建唯一的 ID。)。

function calcNewVal(rowID)
{
    var row = document.getElementById(rowID);
    var tdCount = row.childElementCount - 1;
    var total = 0;
    var currentTd = null;

    var resultText = document.getElementById('result0');

    for(var i = 0; i < tdCount; i++)
    {
        currentTd = row.children[i].childNodes[0].value;
        total += parseInt(currentTd);
    }

    console.log(total);

    resultText.innerHTML = total;
}

html:

<table id="myTable">
<tr>
    <th>Subject1</th>
    <th>Subject2</th>
    <th>Subject3</th>
    <th>Result</th>
</tr>
<tr onchange="calcNewVal(this.id)" id="row0">
    <td><input type="text" value="13"></td>
    <td><input type="text" value="13"></td>
    <td><input type="text" value="13"></td>
    <td id="result0"></td>
</tr>
<tr id="row1">
    <td><input type="text" value="13"></td>
    <td><input type="text" value="13"></td>
    <td><input type="text" value="13"></td>
    <td id="result1"></td>
</tr>

关于javascript - 输入相应行中的数字时动态计算 - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41500877/

相关文章:

javascript - 在将字符串传递给 javascript 之前正确转义 php 中的字符串

javascript - JSPack 无法将 double 转换为字节

javascript - 使用 clearTimeout 后 setTimeout 不起作用

javascript - 单击后更改 Bootstrap 下拉菜单的颜色和文本

php - 自定义路由 URL 参数

php - 如何正确导出到包含带逗号的表记录值的 CSV 文件?

javascript - 如何使用 d3.js 在世界地图上绘制 3D 条形图?

javascript - 无法在Android中基于字符串创建html表

php - 如何在没有登录对话框页面的情况下验证 facebook sdk?

php - 如何找出 PHP 代码库正在使用哪些扩展?