Как заполнить два выпадающих меню циклами for в функции? - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь создать два раскрывающихся меню, содержащих один и тот же список валют, используя цикл for. У меня есть этот объект:

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-страница с двумя формами. Предполагается, что пользователи смогут менять предпочитаемую валюту. В веб-форме поля выглядят так:

<select name="Valutatype" id="selectCurrencyType"></select>

и

 <select id="selectAccountCurrency"></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);          
  }
}

loadAllCurrencyKeys();

Можно ли включить в ту же функцию другой цикл for, содержащий selectAccountCurrency ?

Ответы [ 2 ]

0 голосов
/ 10 января 2019

после создания newOption и настройки всех свойств попробуйте это

document.querySelector("#selectAccountCurrency").appendChild(newOption)
0 голосов
/ 10 января 2019

Проблема в следующем утверждении

 for (var index = 0; index = keys.lenght; index++) {

Измените его на

 for (var index = 0; index < keys.length; index++) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...