ура! Я понял. Воспроизведите код ниже для кого-то в подобной ситуации:
jQuery(document).ready( function ($) {
$('input').change(function() {
var currentId = $(this).attr('id'),
$parent = $(this).parents("td").children("div").children("div"),
lengthId = $parent.find('input[id*="field-length-0-value"]'),
length = lengthId.val(),
lengthAtt = lengthId.attr('id'),
widthId = $parent.find('input[id*="field-width-0-value"]'),
width = widthId.val(),
widthAtt = widthId.attr('id'),
areaId = $parent.find('input[id*="field-area-0-value"]'),
area = areaId.val(),
areaAtt = areaId.attr('id');
if ((currentId == lengthAtt) && (area == 0)){
areaId.val(length * area); //Area when l * w
}
if ((currentId == lengthAtt) && (width == 0)){
widthId.val(area / length); //width when a / l
}
if ((currentId == widthAtt) && (area == 0)){
areaId.val(width * length); //area when w * l
}
if ((currentId == widthAtt) && (length == 0)){
lengthId.val(area / width); //length when a / w
}
if ((currentId == areaAtt) && (width == 0)){
widthId.val(area / length);//width when a / l
}
if ((currentId = areaAtt) && (length == 0)){
lengthId.val(area / width); //length when a / w
}
});
});
Я уверен, что есть несколько мест, где его можно оптимизировать ...