2016-07-25 2 views
-1

Ich habe eine Javascript-Funktion, wo ich vergleichen zwei Werte hier ist mein CodeVergleich mit der Expression mit Hilfe von Javascript

function isDepositGreaterThanAvailable(){ 
    var deposit=$("#total").val(); 
    var available=$("#availableCash").val(); 

    if(deposit>available){ 
     $("#total").val(0); 
     var msg = { 
      "class": "com.docu.common.Message", 
      "messageBody": ["Deposit must be less than or equal to Available Cash"], 
      "messageTitle": "Message", 
      "type": 2 
     } 
     MessageRenderer.render(msg); 
     return false; 
    } 

    } 

wenn deposit größer als available ist dann eine Fehlermeldung show.and es shows.but wenn deposit ist smaller als verfügbar, zeigt es Fehler zu. Warum Vergleich hier nicht funktioniert. Bitte helfen Sie mir damit.

+1

Was sind die Inhalte der Textfelder 'total' und' availableCash'? Vielleicht vergleichen Sie die Inhalte als Strings? –

Antwort

2

Wenn Sie einen Wert aus einem Eingabeelement mit jQuery .val() erhalten, wird es immer eine Zeichenfolge sein. Es spielt keine Rolle, dass das Eingabeelement type = "number" ist. Der JavaScript-Wert ist eine Zeichenfolge. Verwenden Sie das folgende, wenn die Bedingung:

if(parseInt(deposit) > parseInt(available)) 

EDIT:
Wie zu Recht von @nnnnnn hingewiesen, möchten Sie vielleicht parseFloat() verwenden, wie Sie mit Währung handelt.

+2

Ich glaube nicht, dass Sie 'parseInt()' auf Geldwerte verwenden wollen. – nnnnnn

Verwandte Themen