on-the-fly calculations
(1) $row was incorrectly defined; it needs to reference the parent table because that is the first element common to all inputs. (2) perform parseFloat() on each input element. (3) don't use .each() - because there's only one dataset being calculated. (4) manipulate the total such that it displays zero until result is meaningful.
by Nick Hulea
HTML
<table >
<tr>
<td><label>MIN Premium</label></td>
<td class="toadd"><input type="text" class="input1" name="minpremium" id="minpremium" value=""></td>
</tr>
<tr>
<td><label>Deposit</label></td>
<td ><input type="text" name="deposit" id="deposit" class="input1" size="20" value=""></td>
<td></td><td></td>
</tr>
<tr>
<td><label>Adjustment Premium</label></td>
<td ><input type="text" name="adjpremium" id="adjpremium" class="input1" size="20" value=""></td>
<td><label>Return Premium</label></td>
<td><input type="text" class="input1" name="returnpremium" id="returnpremium"></td>
</tr>
<tr>
<td><label>Tax Allocation</label></td>
<td><input type="text" class="input1" name="taxalloc" id="taxalloc"></td>
<td><label>Premium Base Rate</label></td>
<td><input type="text" class="input1" name="pramiumbase" id="pramiumbase"></td>
</tr>
<tr>
<td><label>Adjustable Rate</label></td>
<td><input type="text" class="input1" name="adjrate" id="adjrate" class="input1" size="20" value=""></td>
<td><label>PC Base Rate</label></td>
<td><input type="text" class="input1" name="procombaserate" id="procombaserate" class="input1" size="20" value=""></td> </tr>
<tr>
<td><label>Profit Commission %</label></td>
<td><input type="text" class="input1" name="profcomper" id="profcomper" value=""></td>
<td><label>PC Amount</label></td>
<td><input type="text" class="input1" name="pcamount" id="pcamount" class="input1" size="20" >
</td>
</table>
JavaScript
$(document).ready(function() {
$('input[name=deposit], input[name=minpremium], input[name=adjpremium],input[name=procombaserate], input[name=profcomper], input[name=pcamount]').change(function(e) {
var total_mnozi = 0;
var $row = $(this).closest("table"); //this is the closest common root of the input elements
var dep = parseFloat( $row.find('input[name=deposit]').val() );
var minpre = parseFloat( $row.find('input[name=minpremium]').val() );
var adjpre = parseFloat( $row.find('input[name=adjpremium]').val() );
var procombase = parseFloat( $row.find('input[name=procombaserate]').val() );
var profcomper = parseFloat( $row.find('input[name=profcomper]').val() );
// var pcamount= $row.find('input[name=pcamount]').val();
// total_mnozi= procombase * profcomper;
total_mnozi = ((dep + minpre + adjpre) * procombase * profcomper) || 0; //calculate traditionally; display zero until result is meaningful
$row.find('input[name=pcamount]').val( total_mnozi);
});
});