javascript - 如何使用 JQuery 动态更新下拉列表?
问题描述
我有一个最初为空的下拉列表:
<div>
<label>Boarding Point </label>
<select title="Select pickup city" id="boardingDropdown">
</select>
</div>
我想从 API 获得的 json 数据更新它。我可以在控制台中打印从 API 获得的数据,但我无法使用 jquery 将其添加到下拉列表中。
这是我的jQuery代码
$.getJSON(busApi, function(boardingPoints) {
$.each(boardingPoints, function(index, value){
let $boardingOption = $("<option>" + value + "</option>");
$("#boardingDropdown").append($boardingOption);
});
});
下拉列表只显示undefined
没有任何其他数据。
我尝试过其他类似的问题(例如this和this),但它们并没有解决我的问题。
有人可以告诉我我做错了什么吗?
谢谢。
编辑:
console.log(value) 显示输出
Kathmadnu
Birgunj
Pokhariya
Langadi Chowk
Bhiswa
Birgunj
这是 api 的预期输出。
我用这些数据创建了一个列表
let buses=["Kathmadnu",
"Birgunj",
"Pokhariya",
"Langadi Chowk",
"Bhiswa",
"Birgunj"
];
现在列表仍然undefined
最初显示,但如果我点击它,它会按预期显示下拉列表。
这是否意味着API有问题?但是我可以在控制台看到从API获取的数据吗?
解决方案
试试这个解决方案:
$.each(items, function (i, value) {
$('#boardingDropdown').append($('<option>', {
value: value_value,
text : text_value
}));
});
输出应该是这样的:
<select title="Select pickup city" id="boardingDropdown">
<option value="value_value">text_value</option>
</select>
推荐阅读
- php - 使用 Yii2 队列扩展和 Postgres 10.4 时出现错误“尚未等待锁定”
- javascript - 如何为这个 URL 创建正则表达式?
- html - 如何垂直对齐两行导航项?
- android-studio - 如何更改 NavigationView 菜单项的字体和大小?
- postgresql - do 运算符参数中的连接不起作用
- angular - ng generate module heros/heroes --module app --flat --routing 在这个 ng 命令中 --flat 是什么意思
- javafx - 线程“JavaFX 应用程序线程”中的异常 java.lang.ArrayIndexOutOfBoundsException
- eiffel - 埃菲尔:LINKED_LIST[STRING] 上的未知标识符“光标”
- blueprism - 阅读线程不再存在
- excel - 错误:“无单元格”。使用 if 退出 sub 如果为真,但错误不断弹出