Reputation: 11
I want to sum the values of radio buttons, and print that sum to the respected textbox, using JavaScript or jQuery.
The class name should be the results of each radio button
I only achieved a sum in one respected textbox.
function calcscore() {
var score = 0;
$(".rialistic:checked").each(function() {
score += parseInt($(this).val() 10);
});
$("input[name=sum]").val(score)
}
$().ready(function() {
$(".rialistic").change(function() {
calcscore()
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- The class name should be the results of each radio button -->
<body>
<table class="table">
<thead class="thead-dark">
<tr>
<th scope="col">#
</th>
<th scope="col">Questions
</th>
<th scope="col">Yes
</th>
<th scope="col">No
</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>
<?php echo $question1?>
</td>
<td>
<div class="radio"><label><input class="rialistic" type="radio" value = "1" name="optradio1" id="value1" ></label></div>
</td>
<td>
<div class="radio"><label><input class="rialistic" type="radio" value = "0" name="optradio1" id="no"></label></div>
</td>
</tr>
<tr>
<th scope="row">2</th>
<td>
<?php echo $question2?>
</td>
<td>
<div class="radio"><label><input class="investigative" type="radio" value = "1" name="optradio2" id="value2" ></label></div>
</td>
<td>
<div class="radio"><label><input class="investigative" type="radio" value = "0" name="optradio2" id="no"></label></div>
</td>
</tr>
<tr>
<th scope="row">3</th>
<td>
<?php echo $question3?>
</td>
<td>
<div class="radio"><label><input class="artistic" type="radio" value = "1" name="optradio3" id="value3" ></label></div>
</td>
<td>
<div class="radio"><label><input class="artistic" type="radio" value = "no" name="optradio3" id="no"></label></div>
</td>
</tr>
<tr>
<th scope="row">4</th>
<td>
<?php echo $question4?>
</td>
<td>
<div class="radio"><label><input class="social" type="radio" value = "1" name="optradio4" id="value4" ></label></div>
</td>
<td>
<div class="radio"><label><input class="social" type="radio" value = "no" name="optradio4" id="no"></label></div>
</td>
</tr>
<tr>
<th scope="row">5</th>
<td>
<?php echo $question5?>
</td>
<td>
<div class="radio"><label><input class="conventional" type="radio" value = "1" name="optradio5" id="value5" ></label></div>
</td>
<td>
<div class="radio"><label><input class="conventional" type="radio" value = "no" name="optradio5" id="no"></label></div>
</td>
</tr>
<tr>
<th scope="row">6</th>
<td>
<?php echo $question6?>
</td>
<td>
<div class="radio"><label><input class="conventional" type="radio" value = "1" name="optradio6" id="value6" ></label></div>
</td>
<td>
<div class="radio"><label><input class="Conventional" type="radio" value = "0" name="optradio6" id="no"></label></div>
</td>
</tr>
<tr>
<th scope="row">7</th>
<td>
<?php echo $question7?>
</td>
<td>
<div class="radio"><label><input class="rialistic" type="radio" value = "1" name="optradio7" id="value7" ></label></div>
</td>
<td>
<div class="radio"><label><input class="rialistic" type="radio" value = "no" name="optradio7" id="no"></label></div>
</td>
</tr>
<tr>
<th scope="row">8</th>
<td>
<?php echo $question8?>
</td>
<td>
<div class="radio"><label><input class="artistic" type="radio" value = "1" name="optradio8" id="value8" ></label></div>
</td>
<td>
<div class="radio"><label><input class="artistic" type="radio" value = "no" name="optradio8" id="no"></label></div>
</td>
</tr>
<tr>
<th scope="row">9</th>
<td>
<?php echo $question9?>
</td>
<td>
<div class="radio"><label><input class="conventional" type="radio" value = "1" name="optradio9" id="value9" ></label></div>
</td>
<td>
<div class="radio"><label><input class="conventional" type="radio" value = "no" name="optradio9" id="no"></label></div>
</td>
</tr>
<tr>
<th scope="row">10</th>
<td>
<?php echo $question10?>
</td>
<td>
<div class="radio"><label><input class="enterprising" type="radio" value = "1" name="optradio10" id="value10" ></label></div>
</td>
<td>
<div class="radio"><label><input class="enterprising" type="radio" value = "no" name="optradio10" id="no"></label></div>
</td>
</tr>
<tr>
<th scope="row">11</th>
<td>
<?php echo $question11?>
</td>
<td>
<div class="radio"><label><input class="investigative" type="radio" value = "1" name="optradio11" id="value11" ></label></div>
</td>
<td>
<div class="radio"><label><input class="investigative" type="radio" value = "0" name="optradio11" id="no"></label></div>
</td>
</tr>
<tr>
<th scope="row">12</th>
<td>
<?php echo $question12?>
</td>
<td>
<div class="radio"><label><input class="social" type="radio" value = "1" name="optradio12" id="value12" ></label></div>
</td>
<td>
<div class="radio"><label><input class="social" type="radio" value = "no" name="optradio12" id="no"></label></div>
</td>
</tr>
<tr>
<th scope="row">13</th>
<td>
<?php echo $question13?>
</td>
<td>
<div class="radio"><label><input class="social" type="radio" value = "1" name="optradio13" id="value13" ></label></div>
</td>
<td>
<div class="radio"><label><input class="social" type="radio" value = "no" name="optradio13" id="no"></label></div>
</td>
</tr>
<tr>
<th scope="row">14</th>
<td>
<?php echo $question14?>
</td>
<td>
<div class="radio"><label><input class="rialistic" type="radio" value = "1" name="optradio14" ></label></div>
</td>
<td>
<div class="radio">
<label>
<input class="rialistic" type="radio" value = "0" name="optradio14" >
</label>
</div>
</td>
</tr>
</tbody>
</table>
Rialistic:
<input type="text" name="sum" />
<br/>
Investigative:
<input type="text" name="sum2" />
<br/>
Artistic:
<input type="text" name="sum3" />
<br/>
Social:
<input type="text" name="sum4" />
<br/>
Enterprising:
<input type="text" name="sum5" />
<br/>
Conventional:
<input type="text" name="sum6" />
<br/>
</body>
Upvotes: 1
Views: 88
Reputation: 635
I just removed 10
from your code, and it works just fine.
Just so you know, you'll have to write an onChange
function for each different class you want.
function calcscore(){
var score = 0;
$(".rialistic:checked").each(function(){
score += parseInt($(this).val());
});
console.log(score);
$("input[name=sum]").val(score)
}
$().ready(function(){
$(".rialistic").change(function(){
calcscore()
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<body>
<table class="table">
<thead class="thead-dark">
<tr>
<th scope="col">#</th>
<th scope="col">Questions</th>
<th scope="col">Yes</th>
<th scope="col">No</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td><?php echo $question1?></td>
<td><div class="radio"><label><input class="rialistic" type="radio" value = "1" name="optradio1" id="value1" ></label></div></td>
<td><div class="radio"><label><input class="rialistic" type="radio" value = "0" name="optradio1" id="no"></label></div></td>
</tr>
<tr>
<th scope="row">2</th>
<td><?php echo $question2?></td>
<td><div class="radio"><label><input class="investigative" type="radio" value = "1" name="optradio2" id="value2" ></label></div></td>
<td><div class="radio"><label><input class="investigative" type="radio" value = "0" name="optradio2" id="no"></label></div></td>
</tr>
<tr>
<th scope="row">3</th>
<td><?php echo $question3?></td>
<td><div class="radio"><label><input class="artistic" type="radio" value = "1" name="optradio3" id="value3" ></label></div></td>
<td><div class="radio"><label><input class="artistic" type="radio" value = "no" name="optradio3" id="no"></label></div></td>
</tr>
<tr>
<th scope="row">4</th>
<td><?php echo $question4?></td>
<td><div class="radio"><label><input class="social" type="radio" value = "1" name="optradio4" id="value4" ></label></div></td>
<td><div class="radio"><label><input class="social" type="radio" value = "no" name="optradio4" id="no"></label></div></td>
</tr>
<tr>
<th scope="row">5</th>
<td><?php echo $question5?></td>
<td><div class="radio"><label><input class="conventional" type="radio" value = "1" name="optradio5" id="value5" ></label></div></td>
<td><div class="radio"><label><input class="conventional" type="radio" value = "no" name="optradio5" id="no"></label></div></td>
</tr>
<tr>
<th scope="row">6</th>
<td><?php echo $question6?></td>
<td><div class="radio"><label><input class="conventional" type="radio" value = "1" name="optradio6" id="value6" ></label></div></td>
<td><div class="radio"><label><input class="Conventional" type="radio" value = "0" name="optradio6" id="no"></label></div></td>
</tr>
<tr>
<th scope="row">7</th>
<td><?php echo $question7?></td>
<td><div class="radio"><label><input class="rialistic" type="radio" value = "1" name="optradio7" id="value7" ></label></div></td>
<td><div class="radio"><label><input class="rialistic" type="radio" value = "no" name="optradio7" id="no"></label></div></td>
</tr>
<tr>
<th scope="row">8</th>
<td><?php echo $question8?></td>
<td><div class="radio"><label><input class="artistic" type="radio" value = "1" name="optradio8" id="value8" ></label></div></td>
<td><div class="radio"><label><input class="artistic" type="radio" value = "no" name="optradio8" id="no"></label></div></td>
</tr>
<tr>
<th scope="row">9</th>
<td><?php echo $question9?></td>
<td><div class="radio"><label><input class="conventional" type="radio" value = "1" name="optradio9" id="value9" ></label></div></td>
<td><div class="radio"><label><input class="conventional" type="radio" value = "no" name="optradio9" id="no"></label></div></td>
</tr>
<tr>
<th scope="row">10</th>
<td><?php echo $question10?></td>
<td><div class="radio"><label><input class="enterprising" type="radio" value = "1" name="optradio10" id="value10" ></label></div></td>
<td><div class="radio"><label><input class="enterprising" type="radio" value = "no" name="optradio10" id="no"></label></div></td>
</tr>
<tr>
<th scope="row">11</th>
<td><?php echo $question11?></td>
<td><div class="radio"><label><input class="investigative" type="radio" value = "1" name="optradio11" id="value11" ></label></div></td>
<td><div class="radio"><label><input class="investigative" type="radio" value = "0" name="optradio11" id="no"></label></div></td>
</tr>
<tr>
<th scope="row">12</th>
<td><?php echo $question12?></td>
<td><div class="radio"><label><input class="social" type="radio" value = "1" name="optradio12" id="value12" ></label></div></td>
<td><div class="radio"><label><input class="social" type="radio" value = "no" name="optradio12" id="no"></label></div></td>
</tr>
<tr>
<th scope="row">13</th>
<td><?php echo $question13?></td>
<td><div class="radio"><label><input class="social" type="radio" value = "1" name="optradio13" id="value13" ></label></div></td>
<td><div class="radio"><label><input class="social" type="radio" value = "no" name="optradio13" id="no"></label></div></td>
</tr>
<tr>
<th scope="row">14</th>
<td><?php echo $question14?></td>
<td><div class="radio"><label><input class="rialistic" type="radio" value = "1" name="optradio14" ></label></div></td>
<td><div class="radio"><label><input class="rialistic" type="radio" value = "0" name="optradio14" ></label></div></td>
</tr>
</tbody>
</table>
Rialistic:
<input type="text" name="sum"/>
<br/>
Investigative:
<input type="text" name="sum2"/>
<br/>
Artistic:
<input type="text" name="sum3"/>
<br/>
Social:
<input type="text" name="sum4"/>
<br/>
Enterprising:
<input type="text" name="sum5"/>
<br/>
Conventional:
<input type="text" name="sum6"/>
<br/>
</body>
Upvotes: 1