Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How get total sum from input box values using Javascript?

Tags:

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 here is screen shot

like image 551
Swapnil Bhavsar Avatar asked Nov 24 '12 11:11

Swapnil Bhavsar


People also ask

How to calculate the sum of input values with JavaScript?

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.

What is get value in Javascript?

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.


2 Answers

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> 
like image 141
Akhil Sekharan Avatar answered Sep 20 '22 20:09

Akhil Sekharan


$(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>&nbsp;</td>  		<td align="right">Sum :</td>  		<td align="center"><span id="sum">0</span></td>  	</tr>  </table>
like image 25
Waruna Manjula Avatar answered Sep 21 '22 20:09

Waruna Manjula