0
我正在建立一個貨幣兌換應用程序,我已經完成了基本功能,但問題是,如果我改變目標貨幣,而不改變基本貨幣輸入值,目標貨幣不會更新。 我喜歡這樣,當我改變第二個元素中的任何值時,它會自動重新計算基於基本輸入中已有內容的速率。需要幫助更新輸入字段上的選擇下拉選項
這是我第一次問這個問題,所以要溫柔。
謝謝。
您可以在這裏找到的項目:https://codepen.io/azdravkovski/pen/BddLeQ?editors=0010
$(document).ready(function() {
//First AJAX call populates dropdown
$.ajax({
url: 'https://api.fixer.io/latest?',
success: function(data) {
var currencyNoBase = Object.keys(data.rates);
var currencyWithBase = currencyNoBase.concat(data.base).sort();
//Populate dropdown lists with currency names
$.each(currencyWithBase, function (val, text) {
$('.currencies').append($('<option />').val(val).html(text));
});
//Set default currencies in base and target
$('#base').val('8');
$('#target').val('30');
},
dataType: 'json'
});
//return selected base currency
$('#curr1').on('input', function() {
var base = $('#base option:selected').text();
var url = 'https://api.fixer.io/latest?base=' + base;
// Second AJAX call sets base currency
$.ajax({
url: url,
success: function(data2) {
var target = $('#target option:selected').text();
var curr1 = $('#curr1').val();
var curr2 = $('#curr2').val();
var converted = curr1 * data2.rates[target];
$('#curr2').val(converted.toFixed(2));
console.log(converted);
//Clear input fields when changing currency
$('#base').on('change', function() {
$('#curr1').val('');
$('#curr2').val('');
})
},
dataType: 'json'
});
});
和HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Currency Exchange Rate App</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/rickshaw/1.6.1/rickshaw.min.css">
</head>
<body>
<!--INTERFACE-->
<select name="base" class="currencies" id="base"></select>
<input type="number" name="curr1" min="0" id="curr1" placeholder='0' step='.1'>
<br>
<br>
<select name="target" class="currencies" id="target"></select>
<input type="number" name="curr2" min="0" id="curr2" placeholder='0' disabled>
<!-- <button id="convert">Convert</button>-->
<div id="test"></div>
<br>
<br>
<!--CHART-->
<div id="chart"></div>
<!--SCRIPTS-->
<script src="https://d3js.org/d3.v3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/rickshaw/1.6.1/rickshaw.js"></script>
<script type="text/javascript" src="vendor/jquery-3.2.1.js"></script>
<script type="text/javascript" src="src/app.js"></script>
</body>
</html>