Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
127
rated 0 times [  134] [ 7]  / answers: 1 / hits: 23463  / 15 Years ago, mon, august 24, 2009, 12:00:00

I am trying to create a form with many groups containing many radio buttons. When the user selects a button, I would like to calculate the sum of each selected radio button value and show this sum to the user.



I have found a plugin for jQuery which will do the calculation, this plugin use the name attribute of the buttons to calculate. For example, it will sum the values of all buttons which have the name sum.



So far, I have tried two ways of setting this up: in the first method, I create a hidden field for each group to hold the sum of the selected values inside it, this hidden field gets the value but the problem is that the total value will not update when a user selects a button. My code looks like this:



<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01//EN http://www.w3.org/TR/html4/strict.dtd>
<html>
<head>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
<title>Untitled Document</title>
<script src=jquery.js type=text/javascript>
</script>
<script src=calc.js type=text/javascript>
</script>
<script src=calc_f.js type=text/javascript>
</script>
<script type=text/javascript>
function DisplayPrice(price){
$('#spn_Price').val(price);
}
</script>
</head>
<body>
<form id=form1 runat=server>
<input type=hidden id=spn_Price name=sum value=>
<br>
<input id=rdo_1 type=radio value=159 name=price onclick=DisplayPrice(this.value);>
<br>
<input id=rdo_2 type=radio value=259 name=price onclick=DisplayPrice(this.value);>
<br>
<input type=text name=totalSum id=totalSum value= size=2 readonly=readonly>
</form>
</body>
</html>


In this code, the input tag with the name totalSum is where the value will update, but it won't update when changing the buttons.



As I said before, the reason why I use a hidden field is to hold each group's subtotal. It has the name sum, which indicates to the plugin that it should be added to others.



I dont know if this is the right way to do this, i have tried to change the name attribute of the buttons when user click them to sum but that didn`t work either!



Here is plugin address : http://www.pengoworks.com/workshop/jquery/calculation/calculation.plugin.htm



How can I do this ?


More From » jquery

 Answers
109

Plugin schmugin. Get rid of your onclick and try this:



$(input[type=radio]).click(function() {
var total = 0;
$(input[type=radio]:checked).each(function() {
total += parseFloat($(this).val());
});

$(#totalSum).val(total);
});

[#98839] Thursday, August 20, 2009, 15 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
rey

Total Points: 415
Total Questions: 100
Total Answers: 100

Location: Croatia
Member since Fri, Sep 11, 2020
4 Years ago
;