以下是检查和阻止输入大于可用数量的值的功能。它由onBlur触发。
假设: intData = 7 intOnHand = 46
当它到达if(intData > intOnHand)
时,它会输入代码。据说它不应该。因为7> 46是假的。奇怪的是,只有当输入数据在5-9之间时才会发生这种情况。大于46(这是正确的)。
警报输出:
intData7
inOnHand46
借入的数量不得超过库存的数量!
function CheckInput(intData){
var mode = $('#mode').val();
intOnHand = $('#qtyin').html();
if(mode == 'Borrow'){
if(intData > intOnHand){
alert("intData"+intData);
alert("inOnHand"+intOnHand);
alert("Qty to Borrow Must not greater than the qty on the inventory!");
$("#QtyToReturn").val(intOnHand);
}
}
}
答案 0 :(得分:3)
问题是你正在进行字符串比较,因为intOnHand
是字符串类型,在比较之前将其转换为数字类型
function CheckInput(intData) {
var mode = $('#mode').val();
var intOnHand = +$('#qtyin').html();
if (mode == 'Borrow') {
if (+intData > intOnHand) {
alert("intData" + intData);
alert("inOnHand" + intOnHand);
alert("Qty to Borrow Must not greater than the qty on the inventory!");
$("#QtyToReturn").val(intOnHand);
}
}
}