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