Я использую следующий код для обновления одного значения текстового поля txtUnitPrice на основе другого текстового поля txtQuantity, оба могут генерироваться динамически, что и делается.
//update unitprice based on quantity of product and tax applied
$('input').live('keyup', function () {
var inputId = $(this).attr('id'); //get textbox txtQuantity id
var rowNum = parseInt(/txtQuantity(\d+)/.exec(inputId)[1], 10); //get row id
var productValue = $("#ddlProduct" + rowNum).val();
var taxValue = $("#ddlTax" + rowNum).val();
var unitPriceValue = $("#txtUnitPrice" + rowNum).val();
var quantityValue = $("#txtQuantity" + rowNum).val();
if ((quantityValue != " ") && (quantityValue > 0)) {
$("#txtUnitPrice" + rowNum).val(unitPriceValue * quantityValue);
}
else {
$("#txtUnitPrice" + rowNum).val(unitPriceValue);
}
});
Теперь проблема, возникающая в коде выше, заключается в том, что когда я дажеперемещая курсор вперед или назад в текстовом поле txtQuantity, затем значение txtUnitPrice изменяется, потому что запускается это событие 'keyup', и, следовательно, весь код выполняется с существующим значением txtunitprice и снова умножается на существующее значение txtquantity, которое я не хочу 'Может ли кто-нибудь помочь мне в этом.Спасибо