问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

js 获取表格内容并相加

发布网友 发布时间:2022-04-22 16:54

我来回答

2个回答

热心网友 时间:2023-10-02 10:36

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>RunJS 演示代码</title>
    <script>
        onload = function() {
            var tb = document.getElementById("tb");
            var trs = tb.rows;
            for (var i = 0; i < trs.length; i++) {
                var tds = trs[i].cells;
                for (var j = 1; j < tds.length; j++) {
                    var txt = tds[j].children[0];
                    if (null != txt && txt.type == 'text') {
                        if (j > 2 || i == trs.length - 1) {
                            txt.setAttribute("readonly", true);
                        } else {
                            txt.ind = j;
                            txt.onkeyup = txt.onfocus = function() {
                                var row = this.parentElement.parentElement;
                                var c = row.cells;
                                var sum = (c[1].children[0].value * 1 + c[2].children[0].value * 1);
                                var sf = sum * 0.03;
                                c[3].children[0].value = sf.toFixed(2);
                                c[4].children[0].value = sum.toFixed(2);
                                c[5].children[0].value = (sf + sum).toFixed(2);
                                var cc = trs[trs.length - 1].cells;
                                var total = 0;
                                for (var k = 1; k < trs.length - 1; k++) {
                                    total += trs[k].cells[this.ind].children[0].value * 1;
                                }
                                cc[this.ind].children[0].value = total;
                                sum = (cc[1].children[0].value * 1 + cc[2].children[0].value * 1);
                                sf = sum * 0.03;
                                cc[3].children[0].value = sf.toFixed(2);
                                cc[4].children[0].value = sum.toFixed(2);
                                cc[5].children[0].value = (sf + sum).toFixed(2);
                            }
                        }
                    }
                }
            }
        }
    </script>
</head>

<body>
    <table id="tb" width="1000" border="0" cellspacing="0" cellpadding="0">
        <tr>
            <td width="200" align="center">姓名</td>
            <td width="200" align="center">保险</td>
            <td width="200" align="center">工资</td>
            <td width="200" align="center">税费</td>
            <td width="200" align="center">工资保险合计</td>
            <td width="200" align="center">工资、保险、税费合计</td>
        </tr>
        <tr>
            <td width="200" align="center">张三</td>
            <td width="200" align="center">
                <input name="bx1" type="text" id="bx1" value="1500">
            </td>
            <td width="200" align="center">
                <input name="gz1" type="text" id="gz1" value="2000">
            </td>
            <td width="200" align="center">
                <input type="text" name="sf1" id="sf1">
            </td>
            <td width="200" align="center">
                <input type="text" name="gzbxhj1" id="gzbxhj1">
            </td>
            <td width="200" align="center">
                <input type="text" name="gzbxsfhj1" id="gzbxsfhj1">
            </td>
        </tr>
        <tr>
            <td width="200" align="center">李四</td>
            <td width="200" align="center">
                <input name="bx2" type="text" id="bx2" value="1460">
            </td>
            <td width="200" align="center">
                <input name="gz2" type="text" id="gz2" value="2500">
            </td>
            <td width="200" align="center">
                <input type="text" name="sf2" id="sf2">
            </td>
            <td width="200" align="center">
                <input type="text" name="gzbxhj2" id="gzbxhj2">
            </td>
            <td width="200" align="center">
                <input type="text" name="gzbxsfhj2" id="gzbxsfhj2">
            </td>
        </tr>
        <tr>
            <td width="200" align="center" bgcolor="#0066FF">合计</td>
            <td width="200" align="center" bgcolor="#0066FF">
                <input name="bxhj" type="text" id="bxhj">
            </td>
            <td width="200" align="center" bgcolor="#0066FF">
                <input name="gzhj" type="text" id="gzhj">
            </td>
            <td width="200" align="center" bgcolor="#0066FF">
                <input type="text" name="sfsj" id="sfsj">
            </td>
            <td width="200" align="center" bgcolor="#0066FF">
                <input type="text" name="gzbxhjhj" id="gzbxhjhj">
            </td>
            <td width="200" align="center" bgcolor="#0066FF">
                <input type="text" name="gzbxsfhjhj" id="gzbxsfhjhj">
            </td>
        </tr>
    </table>
</body>

</html>

追问谢谢你,很好用。但是需要每行都要点击一次才会运算,能直接运算吗?不用点击文本框!

热心网友 时间:2023-10-02 10:36

var img = new Image();
img.src = "https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/logo-.gif";
table.rows[0].cells[0].appendChild(img);
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
感康复方氨酚烷胺片能喝酒吗 吃了复方氨酚烷胺胶囊可以喝酒吗 吃复方氨酚烷胺片喝酒可以吗 服用复方氨酚烷胺片能喝酒吗 吃了复方氨酚烷胺片后喝酒怎么办 ...含有碳酸根离子、硫酸根离子、氯离子? 初中 请写明化学方程式... 求助通过分析装配视图 掌握该部件的形体结构,彻底 2023年2月几号相亲好 相亲有必要看日子吗 老年人有甲亢怎么办 js两个数字求和?求高手留下 广平美食一条街在哪里。拜托。 带汁肉的做法大全集 广平带汁肉做法 欧服LOL有能用的盒子吗 LOL盒子有什么功能? 为什么lol韩服盒子,翻译过来的中文看不懂什么意思 lol盒子的这些功能到底有多好用 mk盒子使用教程 韩服lol盒子的地址是什么及安装使用方法 刚出的韩服lol490和790rp的盒子有区别吗 韩服lol没盒子视距怎么放大 那个大神知道韩服的LOL盒子在哪下载么。。。。 韩服lol盒子怎样下载 韩服lol可以开外服lol盒子吗 有没有LOL韩服盒子下载器 lol盒子有没有韩服能用的? lol韩服有盒子吗 iphone 6s plus港版支持电信卡吗? 问下韩服LOL 就有一个区吗 另外 韩服有没有像国服一样的 看战斗力的工具? JS通过相同的name 或ID 进行表格 列 求和代码 js 求table的某列的和 求一段JS 表格 列求和 代码 JS表单自动求和的问题 用js求和 js怎么合并单元格并相加 JS对表体中某一列求和并且把得到的值赋表 javascript求和 js代码文本框内数字求和 请问js中对象数组求和代码怎么实现? js数组求和及最大值方法 jS合计列值怎么写(JS高手请进)? 404 Not Found 在Excel单元格“A5”中的A代表什么5代表什么 js加法问题 我想做个记账本,就是别人输入金额,然后自动求和。怎么在html中加入js算法? 没有手机号怎么申请? 无需手机号怎么注册? 没有手机号码怎样申请? 没有手机号码怎样申请? 没有手机号可以注册吗?