我寫了一個JavaScript版本。沒有阿賈克斯,貨幣變化率是從谷歌借來的。
HTML代碼
<select id="currencySelector">
<option value="usd">USD</option>
<option value="aud">AUD</option>
<option value="eur">EUR</option>
<option value="gbp">GBP</option>
</select>
<div class="currency" data-currencyName="usd">15<span>USD</span></div>
<div class="currency" data-currencyName="eur">15<span>EUR</span></div>
<div class="currency" data-currencyName="gbp">15<span>BGP</span></div>
<div class="currency" data-currencyName="aud">15<span>AUD</span></div>
JavaScript代碼
var
selector = document.getElementById("currencySelector");
var
currencyElements = document.getElementsByClassName("currency");
var
usdChangeRate = {
AUD: 1.0490, // 1AUD = 1.0490 USD
EUR: 1.4407, // 1EUR = 1.4407 USD
GBP: 1.6424,
USD: 1.0
};
selector.onchange = function() {
var
toCurrency = selector.value.toUpperCase();
for (var i=0,l=currencyElements.length; i<l; ++i) {
var
el = currencyElements[i];
var
fromCurrency = el.getAttribute("data-currencyName").toUpperCase();
if (fromCurrency in usdChangeRate) {
var
// currency change to usd
fromCurrencyToUsdAmount = parseFloat(el.innerHTML) * usdChangeRate[fromCurrency];
var
// change to currency unit selected
toCurrenyAmount = fromCurrencyToUsdAmount/usdChangeRate[toCurrency];
el.innerHTML = toCurrenyAmount + "<span>" + toCurrency.toUpperCase() + "</span>";
el.setAttribute("data-currencyName",toCurrency);
}
}
};
運行代碼
您可以在http://jsbin.com/ewuyoq/5運行上面的代碼或建立自己的版本http://jsbin.com/ewuyoq/5/edit
您應該開始學習編程並提出編程問題,而不是腳本...... – Catalin
在飛行中進行這些類型的轉換充滿危險,除非您實際上以所有列出的貨幣對其進行結算(例如,如果您以美元結算,但您已經以加元顯示價格並且匯率發生變化,它們將以與所報價格不同的價格收費)。更好地堅持使用一種貨幣,並將轉換交給客戶,以找到自己的資源進行計算。或者,如果不這樣做,請聘請一位編碼員爲您製作 - 這裏沒有免費午餐。 –
這聽起來有點像'給我這個代碼請,kthxbye'的問題。我們不是在這裏給你全面的工作解決方案。如果您遇到困難,我們會幫助您。此外,您的問題可能不會僅限於前端問題。您可能需要與後端進行交互以獲取其他貨幣的價格,除非後端已經在某些javascript數據對象中提供了它們。 –