#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.`));