Solved

Autosum input type=text when checkbox is true

Posted on 2016-07-25
28
70 Views
Last Modified: 2016-09-19
Hi all and thanks in advance for your help

I am looking to create an account page to match up sums
<tr>
	<td align=center><input type="checkbox" name="transID"></td>
	<td><a href=?account=2&transaction=672>22/04/2016</a></td>
	<td>SureSave Account</td><td>Comm return</td><td align=right><input type='text' size=10 name='debitamount' value=-$63.00></td><td>&nbsp;</td>
</tr>
<tr>
	<td align=center><input type="checkbox" name="transID"></td>
	<td><a href=?account=2&transaction=618>28/04/2016</a></td>
	<td>Air Tickets Account</td><td></td><td align=right><input type='text' size=10 name='debitamount' value=$1,471.24></td><td>&nbsp;</td>
</tr>
<tr>
	<td align=center><input type="checkbox" name="transID"></td>
	<td><a href=?account=2&transaction=701>29/04/2016</a></td>
	<td>SureSave Account</td><td>Comm return</td><td align=right><input type='text' size=10 name='debitamount' value=-$45.60></td><td>&nbsp;</td>
</tr>
<tr>
	<td align=center><input type="checkbox" name="transID"></td>
	<td><a href=?account=2&transaction=621>2/05/2016</a></td>
	<td>Air Tickets Account</td><td></td><td align=right><input type='text' size=10 name='debitamount' value=$262.54></td><td>&nbsp;</td>
</tr>
<tr>
	<td align=center><input type="checkbox" name="transID"></td>
	<td><a href=?account=2&transaction=622>2/05/2016</a></td>
	<td>Air Tickets Account</td><td></td><td align=right><input type='text' size=10 name='debitamount' value=$262.54></td><td>&nbsp;</td>
</tr>
<tr>
	<td align=center><input type="checkbox" name="transID"></td>
	<td><a href=?account=2&transaction=662>5/05/2016</a></td>
	<td>Commission Transfer</td><td> </td><td align=right><input type='text' size=10 name='debitamount' value=$33.31></td><td>&nbsp;</td>
</tr>
<tr>
	<td colspan=4>TOTALS</td>
	<td align=right><input type="text" name="debittotal" size=10></td>
	<td align=right><input type="text" name="credittotal" size=10></td>
</tr>
<tr>
	<td colspan=4>Recon Amount</td>
	<td align=right><input type="text" name="amounttorecon" size=10></td>
	<td align=right><input type="text" name="totalrecon" size=10 placeholder="Total Recon Amount" disabled</td>
</tr>

Open in new window


So I would like the checked amounts to autosum into either debittotal or credittotal (which ever side they are)

Then it will sum to totalrecon

Cheers
0
Comment
Question by:Graeme
  • 16
  • 12
28 Comments
 
LVL 32

Expert Comment

by:Big Monty
Comment Utility
do you want to do this client side i assume?

can you show us what you've gotten so far and where you need help?
0
 

Author Comment

by:Graeme
Comment Utility
Hi Big Monty, what I have so far is just the layout for what I want, nothing else (code above)
0
 
LVL 32

Expert Comment

by:Big Monty
Comment Utility
Add a class name to each of your individual text box that you want to add. Call it "addUp". Then, you could use the following jquery to add up each of those text boxes:

$(document).on("change", ".addUp", function() {
    var sum = 0;
    $(".addUp").each(function(){
        sum += +$(this).val();
    });
    $("#totalrecon").val(sum);
});

Open in new window


I don't really understand what " to autosum into either debittotal or credittotal (which ever side they are)" means, so let's skip that part for now. Put in the code above, see if you can get that working, then report back.
0
 

Author Comment

by:Graeme
Comment Utility
Hi, sorry was away for a tournament

thanks for the help BigMonty as always, I have applied the code you have suggested:
<tr>
	<td align=center><input type="checkbox" name="transID"></td>
	<td><a href=?account=2&transaction=672>22/04/2016</a></td>
	<td>SureSave Account</td><td>Comm return</td><td align=right><input type='text' size=10 name='debitamount' value=-$63.00 class="addUp"></td><td>&nbsp;</td>
</tr>
<tr>
	<td align=center><input type="checkbox" name="transID"></td>
	<td><a href=?account=2&transaction=618>28/04/2016</a></td>
	<td>Air Tickets Account</td><td></td><td align=right><input type='text' size=10 name='debitamount' value=$1,471.24 class="addUp"></td><td>&nbsp;</td>
</tr>
<tr>
	<td align=center><input type="checkbox" name="transID"></td>
	<td><a href=?account=2&transaction=701>29/04/2016</a></td>
	<td>SureSave Account</td><td>Comm return</td><td align=right><input type='text' size=10 name='debitamount' value=-$45.60></td><td>&nbsp;</td>
</tr>
<tr>
	<td align=center><input type="checkbox" name="transID"></td>
	<td><a href=?account=2&transaction=621>2/05/2016</a></td>
	<td>Air Tickets Account</td><td></td><td align=right><input type='text' size=10 name='debitamount' value=$262.54 class="addUp"></td><td>&nbsp;</td>
</tr>
<tr>
	<td align=center><input type="checkbox" name="transID"></td>
	<td><a href=?account=2&transaction=622>2/05/2016</a></td>
	<td>Air Tickets Account</td><td></td><td align=right><input type='text' size=10 name='debitamount' value=$262.54 class="addUp"></td><td>&nbsp;</td>
</tr>
<tr>
	<td align=center><input type="checkbox" name="transID"></td>
	<td><a href=?account=2&transaction=662>5/05/2016</a></td>
	<td>Commission Transfer</td><td> </td><td align=right><input type='text' size=10 name='debitamount' value=$33.3 class="addUp"1></td><td>&nbsp;</td>
</tr>
<tr>
	<td colspan=4>TOTALS</td>
	<td align=right><input type="text" name="debittotal" size=10></td>
	<td align=right><input type="text" name="credittotal" size=10></td>
</tr>
<tr>
	<td colspan=4>Recon Amount</td>
	<td align=right><input type="text" name="amounttorecon" size=10></td>
	<td align=right><input type="text" name="totalrecon" size=10 placeholder="Total Recon Amount" disabled</td>
</tr>
<script type="text/javascript">
	$(document).on("change", ".addUp", function() {
	    var sum = 0;
	    $(".addUp").each(function(){
	    sum += +$(this).val();
	    });
	    $("#totalrecon").val(sum);
	});
</script>

Open in new window


looking at the page itself, i cant see any physical difference... is this correct?
0
 
LVL 32

Expert Comment

by:Big Monty
Comment Utility
please set up a jsFiddle and we can diagnose it from there
0
 

Author Comment

by:Graeme
Comment Utility
sorry, jsFiddle?
0
 
LVL 32

Expert Comment

by:Big Monty
Comment Utility
jsFiddle is a site where you can write out html / javascript all on the same page and allow others to view and run it. Essentially it'll allow for us to collaborate together on the code
0
 

Author Comment

by:Graeme
Comment Utility
oh right! here we are! :)

https://jsfiddle.net/Ls3ap0th/3
0
 

Author Comment

by:Graeme
Comment Utility
Hi BigMonty, how did you go with my Fiddle? :)
0
 

Author Comment

by:Graeme
Comment Utility
just checked the link, didnt work...

https://jsfiddle.net/webber4/Ls3ap0th/3/
0
 
LVL 32

Expert Comment

by:Big Monty
Comment Utility
I'll try to get to this within the next few days, as I'm on travel in Australia right now
0
 

Author Comment

by:Graeme
Comment Utility
Oh are you? Im in Aus! :) Where abouts are you?

And no issues with getting to it :)
0
 
LVL 32

Expert Comment

by:Big Monty
Comment Utility
I visiting Melbourne for 2 weeks... How about you?
0
 

Author Comment

by:Graeme
Comment Utility
I'm on the other side of Aus in Perth. Welcome! Too bad the weather isn't flash!
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 32

Expert Comment

by:Big Monty
Comment Utility
Hehe thanks... Weather here is a lot nicer than Boston, where it's hotter than hell :)
0
 

Author Comment

by:Graeme
Comment Utility
I was in Boston in OCT/NOV last year, definitely do not remember it being hot :P
0
 

Author Comment

by:Graeme
Comment Utility
This is still ongoing, please keep open
0
 
LVL 32

Expert Comment

by:Big Monty
Comment Utility
i just got back from australia today, will have a look later on to resume this question
0
 

Author Comment

by:Graeme
Comment Utility
fantastic, thank you
0
 
LVL 32

Expert Comment

by:Big Monty
Comment Utility
have a go with this fiddle and let me know if I'm close. If so, I'll do a write up explaining more what you need to do to incorporate it into your code if you like:

https://jsfiddle.net/bigmonty/kkna3mxq/2/
0
 

Author Comment

by:Graeme
Comment Utility
Thanks for the BigMonty, working great, however for some reason when line 2 is checked with the line above or below, it doubles the value? very strange
0
 

Author Comment

by:Graeme
Comment Utility
Hey mate, how did you go on this?
0
 
LVL 32

Expert Comment

by:Big Monty
Comment Utility
I'll try to have a look at both of your questions later on today. I think we're really close and should have a solution for you soon.
0
 

Author Comment

by:Graeme
Comment Utility
fantastic! thank you!
0
 
LVL 32

Accepted Solution

by:
Big Monty earned 500 total points
Comment Utility
give this a shot:

https://jsfiddle.net/bigmonty/kkna3mxq/4/

I want you to take note of the HTML changes I made, mainly how I added ID's to each checkbox and textbox. Also, please get in the habit of surrounding your attributes VALUE tags with quotes. If you don't do that, you run the risk of mal-formed HTML, which'll give you major headaches!
0
 

Assisted Solution

by:Graeme
Graeme earned 0 total points
Comment Utility
Hi BigMonty, I am finally applying and integrating this code. Thank you

Where do I place the JS, also do I give these surroundings
<script language="Javascript"></script>

Cheers
0
 
LVL 32

Assisted Solution

by:Big Monty
Big Monty earned 500 total points
Comment Utility
stick it in your header <head> tags
0
 

Author Closing Comment

by:Graeme
Comment Utility
Works perfect! Thank you!
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

I have helped a lot of people on EE with their coding sources and have enjoyed near about every minute of it. Sometimes it can get a little tedious but it is always a challenge and the one thing that I always say is:  The Exchange of information …
I would like to start this tip/trick by saying Thank You, to all who said that this could not be done, as it forced me to make sure that it could be accomplished. :) To start, I want to make sure everyone understands the importance of utilizing p…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now