我正在使用jQuery / javascript和html编写计算器。 我有一个表格中的项目列表。所以当我点击特定项目上的添加项目时,它会在另一个表格中附加一行(表B)。 B中的每一行都有不同的ID。外部B是禁用的输入字段,例如Total = A1 + A2 + An。 在每行中计算2件事。说A& P.用户输入3个值V1 V2 V3。并计算A1 =(V1 * V2 * V3)和P1 =((A1 /总)* 100)。注意:这是在附加行内。 每当表B中的值发生变化或添加新项目时,A&总计重新计算。 P也相对于总值重新计算。我的问题是我无法重新计算P并将其显示在正确的行中。它只更新当前编辑的行。
jQuery("#newRow").append('<tr id="TOYCal' + divID + '"><td><img style="width: 40px; height: 40px; display: inline;" src="' + icon + '"/></td><td>' + title + '</td><td><input type="number" min="0" step="1" class="form-control akCal" id="inputEmail" onChange="clearfield()" placeholder="Num" data-id="TOYCal' + divID + '"></td><td><input type="number" min="0" step="1" class="form-control akCal V1" onChange="clearfield()" id="inputEmail" placeholder="Hrs/Day" max="24" min="1" data-id="TOYCal' + divID + '"></td><td><input type="number" min="0" step="1" class="form-control akCal V2" onChange="clearfield()" min="1" id="unit" value="' + unit + '" placeholder="unit" data-id="TOYCal' + divID + '"></td><td><input type="number" min="0" step="1" class="form-control akCal V3" onChange="clearfield()" id="inputEmail" min="1" placeholder="V3" data-id="TOYCal' + divID + '"></td><td><input disabled="" class="form-control ItemDay" id="focusedInput" data-id="TOYCal' + divID + '" type="number" value="" placeholder="W/Day"></td><td><input disabled="" class="form-control Percentage" id="focusedInput" data-id="TOYCal' + divID + '" type="number" value="" placeholder="Percent"></td></tr>');
jQuery(document).on('keyup', '.akCal', function() {
//Get calculation values
divID = jQuery(this).attr("data-ID");
var V1 = jQuery('#' + divID + ' .akCal').val(); //alert("Number Items" + NumberItems);
var V2 = jQuery('#' + divID + ' .ItemUnit').val(); //alert("Unit per item" +UnitPerItem);
var V3 = jQuery('#' + divID + ' .ItemHours').val();
var A = V1 * V2 * V3
var initial = 0;
var size = jQuery('.ItemDay').length;
//alert("size " + size);
jQuery('.ItemDay').each(function() { //ItemDay is id for row field
var itemval = jQuery(this).val();
// alert(itemval);
var value = +initialWatt + +itemval;
initial = value.toFixed(2);
});
jQuery('.totalkWh').val(initial);
var percent = ((A / initial) * 100).toFixed(2);
jQuery('#' + divID + ' .Percentage').val(percent);
});
任何建议都会很棒。