I am not perfect in Javascript.. I want to show total sum of values entered in qty input boxes in next input box named total without refreshing page. Can anyone will help me to figure it out..?
Here is javascript
<script type="text/javascript"> var howmanytoadd = 2; var rows; function calc() { var tot = 0; for (var i = 0; i < rows.length; i++) { var linetot = 0; rows[i].getElementsByTagName('input')[howmanytoadd].value = linetot; tot += linetot; } document.getElementById('total').value = tot } onload = function () { rows = document.getElementById('tab').getElementById('qty1'); for (var i = 0; i < rows.length; i++) { rows.getElementsByTagName('input')[i].onkeyup = calc; } } </script>
Here is my html code:
Qty1 : <input type="text" name="qty1" id="qty"/><br> Qty2 : <input type="text" name="qty2" id="qty"/><br> Qty3 : <input type="text" name="qty3" id="qty"/><br> Qty4 : <input type="text" name="qty4" id="qty"/><br> Qty5 : <input type="text" name="qty5" id="qty"/><br> Qty6 : <input type="text" name="qty6" id="qty"/><br> Qty7 : <input type="text" name="qty7" id="qty"/><br> Qty8 : <input type="text" name="qty8" id="qty"/><br> <br><br> Total : <input type="text" name="total" id="total"/>
here is screen shot
parseInt() is used to convert the user input string to number. const num1 = parseInt(prompt('Enter the first number ')); const num2 = parseInt(prompt('Enter the second number ')); Then, the sum of the numbers is computed.
getValue() This method returns a string representing the value of the current element. You must use the other XML get methods to navigate through an XML document.
Try:
Qty1 : <input onblur="findTotal()" type="text" name="qty" id="qty1"/><br> Qty2 : <input onblur="findTotal()" type="text" name="qty" id="qty2"/><br> Qty3 : <input onblur="findTotal()" type="text" name="qty" id="qty3"/><br> Qty4 : <input onblur="findTotal()" type="text" name="qty" id="qty4"/><br> Qty5 : <input onblur="findTotal()" type="text" name="qty" id="qty5"/><br> Qty6 : <input onblur="findTotal()" type="text" name="qty" id="qty6"/><br> Qty7 : <input onblur="findTotal()" type="text" name="qty" id="qty7"/><br> Qty8 : <input onblur="findTotal()" type="text" name="qty" id="qty8"/><br> <br><br> Total : <input type="text" name="total" id="total"/> <script type="text/javascript"> function findTotal(){ var arr = document.getElementsByName('qty'); var tot=0; for(var i=0;i<arr.length;i++){ if(parseInt(arr[i].value)) tot += parseInt(arr[i].value); } document.getElementById('total').value = tot; } </script>
$(document).ready(function(){ //iterate through each textboxes and add keyup //handler to trigger sum event $(".txt").each(function() { $(this).keyup(function(){ calculateSum(); }); }); }); function calculateSum() { var sum = 0; //iterate through each textboxes and add the values $(".txt").each(function() { //add only if the value is number if(!isNaN(this.value) && this.value.length!=0) { sum += parseFloat(this.value); } }); //.toFixed() method will roundoff the final sum to 2 decimal places $("#sum").html(sum.toFixed(2)); }
body { font-family: sans-serif; } #summation { font-size: 18px; font-weight: bold; color:#174C68; } .txt { background-color: #FEFFB0; font-weight: bold; text-align: right; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <table width="300px" border="1" style="border-collapse:collapse;background-color:#E8DCFF"> <tr> <td width="40px">1</td> <td>Butter</td> <td><input class="txt" type="text" name="txt"/></td> </tr> <tr> <td>2</td> <td>Cheese</td> <td><input class="txt" type="text" name="txt"/></td> </tr> <tr> <td>3</td> <td>Eggs</td> <td><input class="txt" type="text" name="txt"/></td> </tr> <tr> <td>4</td> <td>Milk</td> <td><input class="txt" type="text" name="txt"/></td> </tr> <tr> <td>5</td> <td>Bread</td> <td><input class="txt" type="text" name="txt"/></td> </tr> <tr> <td>6</td> <td>Soap</td> <td><input class="txt" type="text" name="txt"/></td> </tr> <tr id="summation"> <td> </td> <td align="right">Sum :</td> <td align="center"><span id="sum">0</span></td> </tr> </table>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With