Привет У меня есть проблема с ниже код JavaScript не принимает текущее значение GrossTotal(), пока я не перепишем Количество или UnitPrice значенияJavaScript/JQuery Расчеты выпуска
$(document).ready(function() {
$("[id*=gridpur]input[type=text][id*=txtCalc]").on('keyup', (function (e) {
var unitprice = $(this).closest('tr').find("input[type=text][id*=txtCalcUnitprice]").val();
var quantity = $(e.target).closest('tr').find("input[type=text][id*=txtCalcQuantity]").val();
var total = unitprice * quantity;
var cost = (total/GrossTotal())*100;
$(e.target).closest('tr').find("[id*=lblTotal]").text(total);
$(e.target).closest('tr').find("[id*=lblcost]").text(cost);
}));
});
var gross;
function GrossTotal() {
gross = 0;
$("[id*=gridpur][id*=lblTotal]").each(function (index, item) {
gross = gross + parseInt($(item).text());
});
$("[id*=lblGrandTotal]").text(gross);
return gross;
}
, например, если ввели следующие значения выходной я получаю что не соответствует
ProductName UnitPrice Quantity Amount Cost %
product1 9 1 9 Infinity
product2 9 1 9 100
product3 9 1 9 50
Я только получить правильные значения после перезаписи Количество или UnitPrice которое
ProductName UnitPrice Quantity Amount Cost %
product1 9 1 9 33.3
product2 9 1 9 33.3
product3 9 1 9 33.3
Вы получаете 'Infinity', когда вы делите на ноль. Проблема в том, что вы заполняете 'lblTotal' после вызова' GrossTotal() ', но' GrossTotal() 'должен использовать' lblTotal'. – Barmar