The problem is all of the form elements have the same name.
You need to use the increment counter to give each on a unique name and pass the incrrement counter in your ajax function call:
<?php
// RepeatSelectionCounter_1 Begin Loop
$RepeatSelectionCounter_1_IterationsRemaining = $RepeatSelectionCounter_1_Iterations;
while($RepeatSelectionCounter_1_IterationsRemaining--){
if($RepeatSelectionCounterBasedLooping_1 || $row_None){
?>
<tr>
<td><select name="Width_<?php echo $RepeatSelectionCounter_1; ?>" id="Width_<?php echo $RepeatSelectionCounter_1; ?>" onChange="updateDiameter(<?php echo $RepeatSelectionCounter_1; ?>);">
<option value="" selected="selected"></option>
<option value="235">235</option>
</select>
</td>
<td><select name="AspectRatio_<?php echo $RepeatSelectionCounter_1; ?>" id="AspectRatio_<?php echo $RepeatSelectionCounter_1; ?>" onChange="updateDiameter(<?php echo $RepeatSelectionCounter_1; ?>);">
<option value="" selected="selected"></option>
<option value="35">35</option>
</select>
</td>
<td><select name="Diameter_<?php echo $RepeatSelectionCounter_1; ?>" id="Diameter_<?php echo $RepeatSelectionCounter_1; ?>" onChange="updateDiameter(<?php echo $RepeatSelectionCounter_1; ?>);">
<option value="" selected="selected"></option>
<option value="19">19</option>
</select>
</td>
<td><input name="SectionWidth_<?php echo $RepeatSelectionCounter_1; ?>" type="text" id="SectionWidth_<?php echo $RepeatSelectionCounter_1; ?>" value="" size="3" /></td>
<td><input name="SectionHeight_<?php echo $RepeatSelectionCounter_1; ?>" type="text" id="SectionHeight_<?php echo $RepeatSelectionCounter_1; ?>" value="" size="3" /></td>
<td><input name="OverallHeight_<?php echo $RepeatSelectionCounter_1; ?>" type="text" id="OverallHeight_<?php echo $RepeatSelectionCounter_1; ?>" value="" size="3" /></td>
</tr>
<?php
} // RepeatSelectionCounter_1 Begin Alternate Content
else{
?>
<?php } // RepeatSelectionCounter_1 End Alternate Content
if(!$RepeatSelectionCounterBasedLooping_1 && $RepeatSelectionCounter_1_IterationsRemaining != 0){
if(!$row_None && $RepeatSelectionCounter_1_Iterations == -1){$RepeatSelectionCounter_1_IterationsRemaining = 0;}
$row_None = mysql_fetch_assoc($None);
}
$RepeatSelectionCounter_1++;
} // RepeatSelectionCounter_1 End Loop
?>
then to use the increment in the funct5ion call, change the script to:
function updateDiameter(i)
{
var section = parseFloat(document.getElementById('Width_'+i).value * 1);
var aspect = parseFloat(document.getElementById('AspectRatio_'+i).value * 1);
var diameter = parseFloat(document.getElementById('Diameter_'+i).value * 1);
section_width = (section / 25.4);
document.getElementById('SectionWidth_'+i).value = section_width.toFixed(2);
section_height = (section_width * aspect / 100);
document.getElementById('SectionHeight_'+i).value = section_height.toFixed(2);
overall = ((section_height * 2) + diameter);
document.getElementById('OverallHeight_'+i).value = overall.toFixed(1);
}