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;
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章