次のコードを使用して、他のテキストボックスtxtQuantityに基づいて1つのテキストボックス値txtUnitPriceを更新しています。どちらも動的に生成できます。
//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でカーソルを前後に移動すると、このイベント'keyup'が発生するため、txtUnitPriceの値が変更されるため、コード全体が既存のtxtunitprice値で実行されて乗算されることです。これも私が欲しくない既存のtxtquantityでこれについて誰かが私を助けてくれますか?ありがとう