JQ在表格中的计算

1、同列不同行的计算

 function cxlcDs() {
        var preo;//定义前一行
        $("#datatable tr").each(function (e) { //e代表索引 从0开始 eq(0)就是第一行
            if (e > 1) {//1为我表头占了2行所以是>1
                if (preo == null) {
                    preo = e;//第一行数据前面没有数据行所以跳过,并preo为正式第一行
                } else {
                    var q = $("#datatable").find("tr").eq(preo).find('td:eq(25) input').val();//第一行数据第25列的值
                    var h = $("#datatable").find("tr").eq(e).find('td:eq(25) input').val();//第二行数据第25列的值
                    var cz = h - q;
                    $("#datatable").find("tr").eq(e).find('td:eq(26) input').val(cz);//赋值
                    preo = e;//领preo为第二行数据
                }
            }

        });
    }

2、同一行不同列的计算

function cRcx() {
        $("#datatable tr").each(function (hs) { //e代表索引 从0开始 eq(0)就是第一行
            if (hs > 1) {//表头占2行所以是>1
                var c = fzNaN($("#datatable").find("tr").eq(hs).find('td:eq(4) input').val());
                var d = fzNaN($("#datatable").find("tr").eq(hs).find('td:eq(5) input').val());
                var e = fzNaN($("#datatable").find("tr").eq(hs).find('td:eq(6) input').val());
                var f = fzNaN($("#datatable").find("tr").eq(hs).find('td:eq(7) input').val());
                var g = fzNaN($("#datatable").find("tr").eq(hs).find('td:eq(8) input').val());
                var h = fzNaN($("#datatable").find("tr").eq(hs).find('td:eq(9) input').val());
                var i = fzNaN($("#datatable").find("tr").eq(hs).find('td:eq(10) input').val());
                var j = fzNaN($("#datatable").find("tr").eq(hs).find('td:eq(11) input').val());
                var k = fzNaN($("#datatable").find("tr").eq(hs).find('td:eq(12) input').val());
                var l = fzNaN($("#datatable").find("tr").eq(hs).find('td:eq(13) input').val());
                var m = fzNaN($("#datatable").find("tr").eq(hs).find('td:eq(14) input').val());
                var zz = c + d + e + f + g + h + i;
                $("#datatable").find("tr").eq(hs).find('td:eq(75) input').val(zz);
            }
        });
    }

    function fzNaN(qz) {//将取的值转成float类型方便计算,为空的时候转成0
        var hcxs = parseFloat(qz);
        if (isNaN(hcxs)) {
            return 0;
        }
        return hcxs;
    }

 

你可能感兴趣的:(JQ)