0

我遇到了一个新的头痛。谁能告诉我 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 对话框输入框返回的。尽管如此,这仍然不应该干扰我的布尔表达式,并且如此处所示,超过可用(30)的amountReturn(2500)应该是无效的,它被标记为有效。

任何帮助将不胜感激。

4

1 回答 1

1

不确定,但你可以在比较之前先做 parseInt,比如

var amountReturn = parseInt( $('#modalInputAmount').val(), 10);
var available = parseInt( available, 10 );
//then compare
var isValid = (available < amountReturn)? false : true;
于 2013-02-10T10:08:52.783 回答