我遇到了一个新的头痛。任何人都可以告诉我什么时候数字2500> 30是假的?这是我现在遇到的头痛类型,这与我的JQuery UI混淆,因为我需要这些布尔验证才能工作。
这就是我所拥有的:
function execute () {
amountReturn = ($('#modalInputAmount').val());
console.log(amountReturn);
console.log(available);
var isValid = (available < amountReturn)? false : true;
console.log('AmountReturn:' + amountReturn + ' ; available:' + available + ':' + isValid);
if ((isNaN(amountReturn)) || !(isValid)) {
$('#amountDialog').dialog('close');
$("#weHaveANaN").dialog("open");
} else {
//dosomething
}
}
所以,在我第一次在我的页面上打开对话框之后,它会起作用。然后关闭它,并重新打开它,它有时只工作。字面上只有时候。始终接收来自amountReturn和available的正确值。但是,对于事情的黑暗面,我现在得到这样的回应:
正如我所指出的,值是从Jquery对话框输入框返回的。这应该仍然不会干扰我的布尔表达式,并且如此处所示,amountReturn(2500)超过可用(30),应该是无效的,其中它被标记为有效。
非常感谢任何帮助。
答案 0 :(得分:1)
不确定,但在比较之前你可以先做parseInt,比如
var amountReturn = parseInt( $('#modalInputAmount').val(), 10);
var available = parseInt( available, 10 );
//then compare
var isValid = (available < amountReturn)? false : true;