Как я могу вызвать функцию выбранное количество раз?

#javascript #loops #dropdown

Вопрос:

Я пытаюсь запустить функцию getOrderData количество раз, которое пользователь выбрал в раскрывающемся списке, как я могу это сделать?

Нефритовый файл:

 p
strong Number of pieces:
select(id='numOfPieces')
 

Файл Javascript:

 function getOrderData() {
      //this just creates the dropdown dynamically so I could get number that user selected by index value
      const dropdown = document.getElementById("numOfPieces"); 
      var options = ["1", "2", "3", "4", "5"]; 
      
      for(var i = 0; i < options.length; i  ) {
          var opt = options[i];
          var el = document.createElement("option");
          el.textContent = opt;
          el.value = opt;
          dropdown.appendChild(el);
      }

    //checks selected number
    let times = dropdown.options[dropdown.selectedIndex].value;
}

  $("#yes").click(function () {
    
    getOrderData();
}
 

Комментарии:

1. Самым простым способом было бы использовать цикл for для того, сколько раз вы хотите запустить функцию. Поделитесь также своим html-кодом для лучшего объяснения

2. @SalomiEdward У меня нет html для этого, я использую Jade, его выше javascript в вопросе

Ответ №1:

 function getOrderData() {
  alert('Hallo!!');
}

$("#yes").click(function () {
  let value = $('#numOfPieces').val();
  value = value amp;amp; value>0 ? parseInt(value) : 1;
  for (let i = 0;  i < value; i  ) {
    getOrderData();
  }
});
 

Ответ №2:

Вы можете использовать times() метод с 30 секунд кода. Вот код с этого веб-сайта, а также пример:

 const times = (n, fn, context = undefined) => {
  let i = 0;
  while (fn.call(context, i) !== false amp;amp;   i < n) {}
};

times(5, i => console.log(`Called ${ i } times.`));