Я сделал форму с двумя выпадающими меню:
<select id="selectAccountCurrency"></select>
и
<select name="Valutatype" id="selectCurrencyType"></select>
Раскрывающиеся меню заполняются различными валютами с помощью этой функции:
function loadAllCurrencyKeys() {
var keys = Object.keys(ECurrencyTypes);
for (var index = 0; index < keys.length; index++) {
var currencyKey = keys[index];
var newOption = document.createElement("option");
newOption.value = currencyKey;
newOption.text = ECurrencyTypes[currencyKey].name;
selectCurrencyType.options.add(newOption);
}
for (var index = 0; index < keys.length; index++) {
var currencyKey = keys[index];
var newOption = document.createElement("option");
newOption.value = currencyKey;
newOption.text = ECurrencyTypes[currencyKey].name;
selectAccountCurrency.options.add(newOption);
}
}
Есть ли способ сделать второй цикл более коротким? Кажется, там много повторений.
Дополнительная информация: Вот объект, который я пытаюсь перечислить в обоих выпадающих меню одновременно:
var ECurrencyTypes = {
NOK: {value:1.00000, name: "Norske kroner", denomination: "kr"},
EUR: {value:0.10733, name: "Europeiske euro", denomination: "€"},
USD: {value:0.12652, name: "United States dollar", denomination: "$"},
GBP: {value:0.09550, name: "Pound sterling", denomination: "£"},
INR: {value:8.18624, name: "Indiske rupee", denomination: "र"},
AUD: {value:0.16129, name: "Australienske dollar", denomination: "A$"},
PHP: {value:6.48595, name: "Filippinske peso", denomination: "₱"},
SEK: {value:1.02580, name: "Svenske kroner", denomination: "kr"},
CAD: {value:0.15841, name: "Canadiske dollar", denomination: "C$"},
THB: {value:4.18410, name: "Thai baht", denomination: "฿"}
};
А вот HTML-код с наборами полей и тегами выбора:
<fieldset>
<label for="txtAmount">Amount: </label>
<input type="text" id="txtAmount">
<label for="selectCurrencyType"> in </label>
<select name="Valutatype" id="selectCurrencyType"></select>
</fieldset>
и
<fieldset>
<label for="selectAccountCurrency">Currency:</label>
<select id="selectAccountCurrency"></select>
</fieldset>