Guest User

Untitled

a guest
Dec 10th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.60 KB | None | 0 0
  1. <table border="1" id="regionLead">
  2. <tr>
  3. <th colspan="4">Region Lead</th>
  4. </tr>
  5. <tr>
  6. <td>Region</td>
  7. <td>Deployed</td>
  8. <td>Vacant</td>
  9. <td>Total</td>
  10. </tr>
  11. <tr>
  12. <td>Eastern</td>
  13. <td><input type="text" value="0" class="column1" id="easternDeployed" onchange="test.calculate()" style="background-color:#eee;width:55px"/></td>
  14. <td><input type="text" value="0" class="column2" id="easternVacant" onchange="test.calculate()" style="background-color:#eee;width:55px"/></td>
  15. <td><div class="column3" id="easternTotal">0</div></td>
  16. </tr>
  17. <tr>
  18. <td>Southern</td>
  19. <td><input type="text" value="0" class="column1" id="southernDeployed" onkeydown="test.hide()" style="background-color:#eee;width:55px"/></td>
  20. <td><input type="text" value="0" class="column2" id="southernVacant" onkeydown="test.hide()" style="background-color:#eee;width:55px"/></td>
  21. <td><div class="column3" id="southernTotal">0</div></td>
  22. </tr>
  23. <tr>
  24. <td>Central</td>
  25. <td><input type="text" value="0" class="column1" id="centralDeployed" onkeydown="test.hide()" style="background-color:#eee;width:55px"/></td>
  26. <td><input type="text" value="0" class="column2" id="centralVacant" onkeydown="test.hide()" style="background-color:#eee;width:55px"/></td>
  27. <td><div class="column3" id="centralTotal">0</div></td>
  28. </tr>
  29. <tr>
  30. <td>Western</td>
  31. <td><input type="text" value="0" class="column1" id="westernDeployed" onkeydown="test.hide()" style="background-color:#eee;width:55px"/></td>
  32. <td><input type="text" value="0" class="column2" id="westernVacant" onkeydown="test.hide()" style="background-color:#eee;width:55px"/></td>
  33. <td><div class="column3" id="westernTotal">0</div></td>
  34. </tr>
  35. <tr>
  36. <td>Europe</td>
  37. <td><input type="text" value="0" class="column1" id="europeDeployed" onkeydown="test.hide()" style="background-color:#eee;width:55px"/></td>
  38. <td><input type="text" value="0" class="column2" id="europeVacant" onkeydown="test.hide()" style="background-color:#eee;width:55px"/></td>
  39. <td><div class="column3" id="europeTotal">0</div></td>
  40. </tr>
  41. <tr>
  42. <td>Asia</td>
  43. <td><input type="text" value="0" class="column1" id="asiaDeployed" onkeydown="test.hide()" style="background-color:#eee;width:55px"/></td>
  44. <td><input type="text" value="0" class="column2" id="asiaVacant" onkeydown="test.hide()" style="background-color:#eee;width:55px"/></td>
  45. <td><div class="column3" id="asiatotalTotal">0</div></td>
  46. </tr>
  47. <tr>
  48. <td>Total</td>
  49. <td><div id="deployed"></div></td>
  50. <td><div id="vacant"></div></td>
  51. <td style="background-color:yellow"><div id="total"></div></td>
  52. </tr>
  53. </table>
  54.  
  55.  
  56. var allBoxes =
  57. document.querySelector("#regionLead");
  58. calculate(allBoxes);
  59.  
  60. function calculate(tbl){
  61. tbl.addEventListener("change", function(e){
  62. if (e.target.tagName === "INPUT"){
  63. var rowNode = e.target.parentNode.parentNode;
  64. //console.log(rowNode);
  65.  
  66. var rowInputs =
  67. rowNode.getElementsByTagName('input');
  68. var tableNode = e.target.parentNode.parentNode.parentNode;
  69. // console.log(tableNode);
  70. /*get Deployed column of the table to add up*/
  71. var columnInputs = tableNode.getElementsByClassName('column1');
  72.  
  73. /*get Vacant column of the table to add up*/
  74. var columnInputs2 = tableNode.getElementsByClassName('column2');
  75.  
  76. /*get Vacant column of the table to add up*/
  77. var columnInputs3= tableNode.getElementsByClassName('column3');
  78. //alert(columnInputs3.length)
  79. var colSum = 0
  80. for(var i=0; i<columnInputs.length; i++){
  81. colSum += parseInt(columnInputs[i].value);
  82. }
  83.  
  84. var colSum2 = 0
  85. for(var i=0; i<columnInputs2.length; i++){
  86. colSum2 += parseInt(columnInputs2[i].value);
  87. }
  88.  
  89. var colSum3 = 0
  90. for(var i=0; i<columnInputs3.length; i++){
  91. console.log(parseInt(columnInputs3[i].innerText));
  92. colSum3 += parseInt(columnInputs3[i].innerHTML);
  93. }
  94.  
  95. //Last cell in the deployed column
  96. tableNode.rows[8].cells[1].innerHTML = colSum;
  97.  
  98. //Last cell in the vacan column
  99. tableNode.rows[8].cells[2].innerHTML = colSum2;
  100.  
  101. tableNode.rows[8].cells[3].innerHTML = colSum3;
  102.  
  103.  
  104.  
  105.  
  106. var rowDiv = rowNode.getElementsByTagName('div');
  107. var before = rowInputs[0].value || 0;
  108. var after = rowInputs[1].value || 0;
  109. if(before && after){
  110. var total = parseInt(before)+parseInt(after);
  111. rowDiv[0].innerHTML = total;
  112. }
  113. }
  114. })
  115. }
Add Comment
Please, Sign In to add comment