2016-05-16 5 views
1

Also ich möchte einen einfachen Währungsumrechner mit Js erstellen und ich möchte es tun, indem Sie mit 5 verfügbaren Münzen (USD, EUR, GPB, AUD und JPY) zu listen und Benutzer muss aus der ersten Liste auswählen die Münze, die er und die in der zweiten Liste konvertieren möchten muss er auswählen, welche Münze er als result.Here wollen, ist, was ich bisher getan haben:Währungsrechner mit Js

function calculate() { 
 
    var amount = parseFloat(document.getElementById("amount").value); 
 
    var select = document.getElementById("select"); 
 
    var select1 = document.getElementById("select1"); 
 
    var result = document.getElementById("result"); 
 

 
    if (select.value === "USD") && (select1.value === "USD") { 
 
    result.value = (amount * 1); 
 
    } 
 
    if (select.value === "USD") && (select1.value === "EUR") { 
 
    result.value = (amount * 0.88); 
 
    } 
 
    if (select.value === "USD") && (select1.value === "AUD") { 
 
    result.value = (amount * 1.37); 
 
    } 
 
    if (select.value === "USD") && (select1.value === "GBP") { 
 
    result.value = (amount * 0.69); 
 
    } 
 
    if (select.value === "USD") && (select1.value === "JPY") { 
 
    result.value = (amount * 108.96); 
 
    } 
 
    if (select.value === "EUR") && (select1.value === "EUR") { 
 
    result.value = (amount * 1); 
 
    } 
 
    if (select.value === "EUR") && (select1.value === "USD") { 
 
    result.value = (amount * 1.13); 
 
    } 
 
    if (select.value === "EUR") && (select1.value === "AUD") { 
 
    result.value = (amount * 1.55); 
 
    } 
 
    if (select.value === "EUR") && (select1.value === "GBP") { 
 
    result.value = (amount * 0.79); 
 
    } 
 
    if (select.value === "EUR") && (select1.value === "JPY") { 
 
    result.value = (amount * 123.47); 
 
    } 
 
    if (select.value === "EUR") && (select1.value === "EUR") { 
 
    result.value = (amount * 1); 
 
    } 
 
    if (select.value === "EUR") && (select1.value === "USD") { 
 
    result.value = (amount * 1.13); 
 
    } 
 
    if (select.value === "EUR") && (select1.value === "AUD") { 
 
    result.value = (amount * 1.55); 
 
    } 
 
    if (select.value === "EUR") && (select1.value === "GBP") { 
 
    result.value = (amount * 0.79); 
 
    } 
 
    if (select.value === "EUR") && (select1.value === "JPY") { 
 
    result.value = (amount * 123.47); 
 
    } 
 
    if (select.value === "GPB") && (select1.value === "EUR") { 
 
    result.value = (amount * 1.27); 
 
    } 
 
    if (select.value === "GPB") && (select1.value === "USD") { 
 
    result.value = (amount * 1.44); 
 
    } 
 
    if (select.value === "GPB") && (select1.value === "AUD") { 
 
    result.value = (amount * 1.98); 
 
    } 
 
    if (select.value === "GPB") && (select1.value === "GBP") { 
 
    result.value = (amount * 1); 
 
    } 
 
    if (select.value === "GPB") && (select1.value === "JPY") { 
 
    result.value = (amount * 157.08); 
 
    } 
 
    if (select.value === "AUD") && (select1.value === "EUR") { 
 
    result.value = (amount * 0.64); 
 
    } 
 
    if (select.value === "AUD") && (select1.value === "USD") { 
 
    result.value = (amount * 0.73); 
 
    } 
 
    if (select.value === "AUD") && (select1.value === "AUD") { 
 
    result.value = (amount * 1); 
 
    } 
 
    if (select.value === "AUD") && (select1.value === "GBP") { 
 
    result.value = (amount * 0.51); 
 
    } 
 
    if (select.value === "AUD") && (select1.value === "JPY") { 
 
    result.value = (amount * 79.51); 
 
    } 
 
    if (select.value === "JPY") && (select1.value === "EUR") { 
 
    result.value = (amount * 0.0081); 
 
    } 
 
    if (select.value === "JPY") && (select1.value === "USD") { 
 
    result.value = (amount * 0.0092); 
 
    } 
 
    if (select.value === "JPY") && (select1.value === "AUD") { 
 
    result.value = (amount * 0.013); 
 
    } 
 
    if (select.value === "JPY") && (select1.value === "GBP") { 
 
    result.value = (amount * 0.0064); 
 
    } 
 
    if (select.value === "JPY") && (select1.value === "JPY") { 
 
    result.value = (amount * 1); 
 
    } 
 
}
<h1>Convert US Dollars to Euros </h1> 
 
<form> 
 
    <p> 
 
    <label for="amount">Amount:</label> 
 
    <input type="text" id="amount" value=""> 
 
    <select id="select"> 
 
     <option value="USD">USD </option> 
 
     <option value="EUR">EUR </option> 
 
     <option value="GPB">GBP </option> 
 
     <option value="AUD">AUD </option> 
 
     <option value="JPY">JPY </option> 
 
    </select> 
 
    <select id="select1"> 
 
     <option value="USD">USD </option> 
 
     <option value="EUR">EUR </option> 
 
     <option value="GPB">GBP </option> 
 
     <option value="AUD">AUD </option> 
 
     <option value="JPY">JPY </option> 
 
    </select> 
 
    <input type="text" id="result" value=""> 
 
    </p> 
 
    <p> 
 
    <input type="button" value="Calculate" onclick="calculate();"> 
 
    <input type="reset" value="Reset"> 
 
    </p> 
 
</form>

Aber es bisher funktioniert überhaupt nicht ... Und ich kann nicht verstehen warum ... Was habe ich falsch gemacht?

+1

Was ist damit nicht funktioniert? Sehen Sie Fehler in Ihrer Konsole? –

+0

Wenn ich die Schaltfläche "Berechnen" drücke passiert nichts ... –

+0

Sie müssen Ihre Konsole überprüfen (drücken Sie F12 unter Windows oder Opt + Cmd + I auf dem Mac). Sie können sehen, was falsch ist, indem Sie diese Fehler lesen. –

Antwort

2

sein Das Problem ist mit den Klammern, aber Ihre if Aussagen sollte eine sein if else if weil man eine Übereinstimmung gefunden wird Sie brauchen, um die anderen nicht zu überprüfen Raten.

if (select.value === "USD" && select1.value === "USD") { 
    result.value = (amount * 1); 
} else if (select.value === "USD" && select1.value === "EUR") { 
    result.value = (amount * 0.88); 
} 

Ein noch besserer Ansatz wäre, ein Objekt von allen Raten zu erstellen und überprüfen, die Rate einer einzelne if Anweisung existiert verwenden.

var rates = { 
    USD : { 
     USD: 1, 
     EUR: 0.88, 
     AUD: 1.37, 
    }, 
    EUR : { 
     EUR : 1, 
     USD : 1.13, 
     AUD : 1.55, 
    } 
} 

if(rates[select.value] && rates[select.value][select1.value]){ 
    result.value = amount * rates[select.value][select1.value]; 
} 
5

Die if Anweisungen sollten nicht zwischen && Zeichen geschlossen werden. Also, wo Sie

if (select.value === "EUR") && (select1.value === "EUR") 

sollte es

if (select.value === "EUR" && select1.value === "EUR") 
+0

vielen Dank. Das war alles! Du bist toll! –

+0

@AggelosSfakianos Ich bin so froh, dir auf deinem Weg geholfen zu haben. – Brayniverse