Javascript 条件语句返回错误输出
2015-08-12
61
下面是我的函数,用于检查和防止输入大于可用数量的值。它由 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);
}
}
}
1个回答
问题是您正在进行字符串比较,因为
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);
}
}
}
Arun P Johny
2015-08-12