0

私は新たな頭痛に遭遇しました。2500> 30という数字が間違っている場合、誰か教えてもらえますか?これは私が今直面しているタイプの頭痛の種であり、これらのブール値の検証が機能する必要があるため、これは私のJQueryUIを台無しにします。

これは私が持っているものです:

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ダイアログの入力ボックスから返されます。ただし、これはブール式に干渉しないはずです。ここに示すように、available(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 に答える