gpt4 book ai didi

javascript - 从数组中创建一个新的选择选项

转载 作者:行者123 更新时间:2023-11-29 18:54:07 25 4
gpt4 key购买 nike

我有一个从 JSON 创建的数组,我想在我的选择中创建新的选项。我没有任何错误,而且我不知道我的代码有什么问题。在 HTML 中我有:

<select class="currencyList">
</select>

在 JS 中:

var currencyList = [];

$(document).ready(function() {
getCurrencies();
createOptions();
});

function getCurrencies() {
$.getJSON(
"http://api.nbp.pl/api/exchangerates/tables/a/?format=json",
function(response) {
$.each(response[0].rates, function(i, item) {
currencyList.push(item);
});
}
);
}

function createOptions() {
var option = "";
for (var i = 0; i < currencyList.length; i++) {
option += "<option value='" + currencyList[i].code + "'>" + currencyList[i].currency + "</option>";
}
$(".currencyList").append(option);
}

我可以从控制台访问数组中的数据。

最佳答案

I don't know what's wrong with my code

那是因为 $.getJSON 是一个async 函数。

基本上,您在 $.getJSON AJAX 调用完成之前调用了 createOptions 函数。

您需要附加done promise callback 函数。

function getCurrencies() {
$.getJSON(
"http://api.nbp.pl/api/exchangerates/tables/a/?format=json",
function(response) {
$.each(response[0].rates, function(i, item) {
currencyList.push(item);
});
}
).done(function(){
createOptions();
});
}

关于javascript - 从数组中创建一个新的选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50136124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com