2016-05-16 2 views
1

Итак, я хочу создать простой конвертер валют, используя Js, и я хочу сделать это, создав список из 5 доступных монет (USD, EUR, GPB, AUD и JPY), и пользователь должен выбрать из первого списка монета он хочет конвертировать и во втором списке, который он должен выбрать то, что монета валюты он хочет как result.Here то, что я сделал до сих пор:Конвертер валют с 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>

Но до сих пор это не работает вообще ... И я не могу понять, почему ... Что я сделал не так?

+1

Как насчет этого не работает? Вы видите какие-либо ошибки в консоли? –

+0

Когда я нажимаю кнопку «Рассчитать», ничего не происходит ... –

+0

Вам нужно проверить свою консоль (нажать F12 на Windows или Opt + Cmd + I на Mac). Вы можете увидеть, что не так, прочитав эти ошибки. –

ответ

2

Проблема с скобками, но ваши if заявления должны быть if else if, потому что один найден матч вам не нужно, чтобы проверить другой ставки.

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

Еще лучше было бы создать объект всех ставок и проверить скорость существует с использованием одного if заявления.

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

Операции с if не должны быть закрыты между && вывесками. Так, где у вас есть

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

должно быть

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

большое спасибо. Это все! Ты обалденный! –

+0

@AggelosSfakianos Я так рад помочь вам на вашем пути. – Brayniverse

Смежные вопросы