Witajcie, mam problem z którym walczę już od dawna, a mianowicie sumowanie wartości tabelki.
Skrypt ma za zadanie utworzenia tabelki + wypisanie rożnicy godzin A i B. Następnie ma podsumować każdą kolumnę w 8 wierszu. Czy ma ktoś jakiś pomysł jak to zrobić? Ja już po prostu zgłupiałem i nie do końca wiem jak to zrobić, wyczerpały mi się pomysły.
<style>
input {
display:none;
border:none;
width:100%;
height:100%;
}
</style>
<script>
var XX = [];
//XX A B ID
XX[0] = [1,' 1',10,20,1];
XX[14] = [3,' 1',10,20,1];
XX[1] = [1,' 2',18,19,2];
XX[2] = [2,' 3',13,18,3];
XX[4] = [4,' 5',15,18,5];
XX[3] = [3,' 4',14,18,4];
XX[5] = [5,' 6',16,18,6];
XX[6] = [6,' 7',17,18,7];
XX[7] = [7,' 1',18,19,1];
XX[8] = [7,' 8',19,20,8];
XX[9] = [7,' 9',20,2,9];
XX[10] = [7,' 10',21,23,10];
XX[13] = [3,' 10',21,24,10];
XX[11] = [7,' 2',21,24,2];
XX[12] = [3,' 3',21,24,3];
var TR1 = [];
var TR12 = [];
var TR13 = [];
var TR14 = [];
var TR2 = [];
var TR21 = [];
var TR22 = [];
var TR23 = [];
document.write("<table bgcolor=lightblue border=1>")
document.write("<tr><td>X</td>")
/*TR 1*/
for(i=0;i<XX.length;i++){
TR1.push(XX[i][4])
}
TR1.sort(function(a, b){return a-b});
for(i=0;i<TR1.length;i++){
if(TR1[i]!=TR1[i+1]){
TR12.push(TR1[i])
}
}
for(i=0;i<TR12.length;i++){
for(j=0;j<XX.length;j++){
if(TR12[i]==XX[j][4]){
TR13.push(XX[j][1]);
}
}
}
for(i=0;i<TR13.length;i++){
if(TR13[i]!=TR13[i+1]){
TR14.push(TR13[i])
}
}
for(i=0;i<TR14.length;i++){
document.write("<td>"+TR14[i]+"</td>");
}
/*TR REST*/
for(i=0;i<XX.length;i++){
TR2.push(XX[i][0])
}
TR2.sort(function(a, b){return a-b});
for(i=0;i<TR2.length;i++){
if(TR2[i]!=TR2[i+1]){
TR21.push(TR2[i])
}
}
for(i=0;i<TR21.length;i++){
for(j=0;j<XX.length;j++){
if(TR21[i]==XX[j][0]){
TR22.push(XX[j][0]);
}
}
}
for(i=0;i<TR22.length;i++){
if(TR22[i]!=TR22[i+1]){
TR23.push(TR22[i])
}
}
TR23.push(8)
var SS2 = [];
for(i=0;i<TR23.length;i++){
document.write("<tr><td bgcolor=red id="+TR23[i]+">"+TR23[i]+"</td>");
for(j=0;j<TR14.length;j++){
var a = i+1;
var b = j+1;
if(a==8){
document.write("<td id="+b+a+">"+b+a+"</td>")
var c = parseInt(b)+""+parseInt(a);
SS2.push(c)
}
else {
document.write("<td><Input id="+b+a+" value="+b+a+"></td>");
var c = parseInt(b)+""+parseInt(a);
SS2.push(c)
}
}
document.write("</tr>");
}
var SS = [];
/*WYPELNIACZ*/
for(i=0;i<XX.length;i++){
var a = XX[i][0].toString();
var b = XX[i][4].toString();
var c = b+a;
SS.push(c);
var d = document.getElementById(c);
var e = XX[i][3];
var f = XX[i][2];
if(XX[i][3]<XX[i][2]){
var g = XX[i][3]+24-XX[i][2];
}
else {
var g = XX[i][3]-XX[i][2];
}
d.style.background="green";
d.style.display="block"
d.value = g;
}
SS.sort(function(a, b){return a-b});
SS2.sort(function(a, b){return a-b});
var SS3 = [];
//POROWNAJ TABELE BIALA Z NIEBIESKA
document.write("</table>")
document.write("<table bgcolor=white border=2>")
for(i=0;i<SS2.length;i++){
var a = document.getElementById(SS2[i])
var b = a.value;
if(a.style.background=="green"){
SS3.push(SS2[i],b)
}
}
for(i=0;i<SS3.length;i++){
if(i%2==0){
document.write("<td id=1"+SS3[i]+">"+SS3[i]+"</td>"+"<td>"+SS3[i+1]+"</td>")
if((SS3[i].substring(0,SS3[i].length-1)==SS3[i+2].substring(0,SS3[i+2].length-1))||
(SS3[i].substring(0,SS3[i].length-1)==SS3[i-2].substring(0,SS3[i-2].length-1))){
var c = document.getElementById("1"+SS3[i]);
c.style.background="lightgreen"
document.write("<td>"+SS3[i]+"</td>")
}
document.write("</tr>")
}
}
</script>