布尔验证从Jquery Dialog返回数据时返回错误的值

时间:2013-02-10 10:00:24

标签: jquery jquery-ui

我遇到了一个新的头痛。任何人都可以告诉我什么时候数字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的正确值。但是,对于事情的黑暗面,我现在得到这样的回应: Weird return

正如我所指出的,值是从Jquery对话框输入框返回的。这应该仍然不会干扰我的布尔表达式,并且如此处所示,amountReturn(2500)超过可用(30),应该是无效的,其中它被标记为有效。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

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

var amountReturn = parseInt( $('#modalInputAmount').val(), 10);
var available = parseInt( available, 10 );
//then compare
var isValid = (available < amountReturn)? false : true;