Почему в выпадающем меню функция javascript и возвращающий цикл не определены? - PullRequest
0 голосов
/ 11 января 2019

Я сделал HTML-форму. Выпадающие меню только возвращают undefined . Вот форма:

 <fieldset>
    <legend>New account</legend>
    <label for="selectAccountType">Type:</label>
    <select id="selectAccountType"></select>
    <label for="txtAccountAlias">Alias:</label>
    <input type="text" id="txtAccountAlias" value="">
    <p>
      <button onclick="createAccount()">Create account</button>
    </p>
  </fieldset>

А вот переменные / объект:

var EAccountTypes = {
Standard : {text: "Brukskonto"},
Saving   : {text: "Sparekonto"},
Credit   : {text: "Kredittkonto"},
Loan     : {text: "Lånekonto"}  
};

А это функция:

  function loadAllAccountTypeKeys () {
  var keys = Object.keys(EAccountTypes);
  for (var index = 0; index < keys.length; index++) {
      var accountKey = keys[index];
      var newOption = document.createElement("option");
      newOption.value = accountKey;
      newOption.text = EAccountTypes[accountKey].name;
      selectAccountType.options.add(newOption);
  }
}

loadAllAccountTypeKeys();

Почему это дает мне выпадающее меню с четырьмя undefined ? Я использовал var keys в другой функции в том же документе. Это причина?

(Это школьное задание. На самом деле я не пытаюсь создать онлайн-банк с помощью JavaScript.)

1 Ответ

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

Заменить name на text здесь:

newOption.text = EAccountTypes[accountKey].name;

Так бы это выглядело

newOption.text = EAccountTypes[accountKey].text;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...