Javascript 文本框键控事件无法正常工作
我使用以下代码基于其他textbox txtQuantity更新一个textbox值TXTNITPRICE,这两个值都可以动态生成Javascript 文本框键控事件无法正常工作,javascript,jquery,textbox,keyup,Javascript,Jquery,Textbox,Keyup,我使用以下代码基于其他textbox txtQuantity更新一个textbox值TXTNITPRICE,这两个值都可以动态生成 //update unitprice based on quantity of product and tax applied $('input').live('keyup', function () { var inputId = $(this).attr('id'); //get textbox txtQuantity id
//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中向前或向后移动光标时,txtnitPrice的值正在发生变化,因为这个事件“keyup”正在触发,因此整个代码将使用现有的txtnitPrice值执行,并再次将其与我不知道的现有txtQuantity相乘想请任何人帮我解决这个问题。谢谢只需添加一个复选框即可忽略光标移动,如下所示
$('input').live('keyup', function (e) {
if([37, 38, 39, 40].indexOf(e.which)){
return false;//do nothing because the cursor keys have been pressed
}
//the rest of your code
});
代码每次都在执行,但值每次都在更改(在您不更改文本框的值之前,它应该保持不变),我得到了您不想要的东西,但您想要什么?