html - Add total from rows using javascript -
i want add total of values in table below conditions dont know how implement
<table id="tableid" width="200" border="1"> <tr> <td class="compulsory">5</td> <td class="compulsory">8</td> <td class="compulsory">8</td> <td class="one">8</td> <td class="one">7</td> <td class="one">6</td> <td class="two">9</td> <td class="two">4</td> <td class="total"></td> </tr> </table>
the conditions are;
table data class compulsory must added
table data class one pick highest 2 values
table data class two pick highest 1 value
then display total in table data class total
how below solution, can refactor further if needed.
<html> <body> <table border="1" id="tableid" width="200"> <tr> <td class="compulsory">5</td> <td class="compulsory">8</td> <td class="compulsory">8</td> <td class="one">8</td> <td class="one">7</td> <td class="one">6</td> <td class="two">9</td> <td class="two">4</td> <td class="total"></td> </tr> </table> </body> <script type="text/javascript"> var table = document.getelementbyid('tableid'); var tr = table.getelementsbytagname('tr')[0]; var tdscompulsory = tr.getelementsbyclassname('compulsory'); var tdsone = document.getelementsbyclassname('one'); var tdstwo = document.getelementsbyclassname('two'); var cdata = []; var onedata = []; var twodata = []; var sum = 0; for(var in tdscompulsory){ if(typeof tdscompulsory[i].textcontent != 'undefined') cdata.push(tdscompulsory[i].textcontent); } for(var in tdsone){ if(typeof tdsone[i].textcontent != 'undefined') onedata.push(tdsone[i].textcontent); } for(var in tdstwo){ if(typeof tdstwo[i].textcontent != 'undefined') twodata.push(tdstwo[i].textcontent); } console.log(cdata); console.log(onedata); console.log(twodata); for(var in cdata){ sum +=parseint(cdata[i]); } var maxone=0, maxtwo=0; for(var in onedata){ if(maxone < parseint(onedata[i])){ maxtwo = maxone; maxone = parseint(onedata[i]); } else if(maxtwo < parseint(onedata[i])){ maxtwo = parseint(onedata[i]); } } sum += maxone + maxtwo; var max = 0; for(var in twodata){ if(max < parseint(twodata[i])){ max = parseint(twodata[i]); } } console.log(max); sum +=max; console.log(sum); document.getelementsbyclassname('total')[0].textcontent = sum; </script> </html>
Comments
Post a Comment