javascript - 使用 ajax 将 JSON 数组转换为选择标签仅获得 1 个值
问题描述
我想将我调用的 json 数组的所有数据放入选择选项标记中
我从这里调用 api http://dev.farizdotid.com/api/daerahindonesia/provinsi这是我得到的 json 数组
semuaprovinsi: Array(34)
0: {id: "11", nama: "Aceh"}
1: {id: "12", nama: "Sumatera Utara"}
2: {id: "13", nama: "Sumatera Barat"}
3: {id: "14", nama: "Riau"}
4: {id: "15", nama: "Jambi"}
5: {id: "16", nama: "Sumatera Selatan"}
6: {id: "17", nama: "Bengkulu"}
7: {id: "18", nama: "Lampung"}
8: {id: "19", nama: "Kepulauan Bangka Belitung"}
9: {id: "21", nama: "Kepulauan Riau"}
10: {id: "31", nama: "Dki Jakarta"}
11: {id: "32", nama: "Jawa Barat"}
12: {id: "33", nama: "Jawa Tengah"}
13: {id: "34", nama: "Di Yogyakarta"}
14: {id: "35", nama: "Jawa Timur"}
15: {id: "36", nama: "Banten"}
16: {id: "51", nama: "Bali"}
17: {id: "52", nama: "Nusa Tenggara Barat"}
18: {id: "53", nama: "Nusa Tenggara Timur"}
19: {id: "61", nama: "Kalimantan Barat"}
20: {id: "62", nama: "Kalimantan Tengah"}
21: {id: "63", nama: "Kalimantan Selatan"}
22: {id: "64", nama: "Kalimantan Timur"}
23: {id: "65", nama: "Kalimantan Utara"}
24: {id: "71", nama: "Sulawesi Utara"}
25: {id: "72", nama: "Sulawesi Tengah"}
26: {id: "73", nama: "Sulawesi Selatan"}
27: {id: "74", nama: "Sulawesi Tenggara"}
28: {id: "75", nama: "Gorontalo"}
29: {id: "76", nama: "Sulawesi Barat"}
30: {id: "81", nama: "Maluku"}
31: {id: "82", nama: "Maluku Utara"}
32: {id: "91", nama: "Papua Barat"}
33: {id: "94", nama: "Papua"}
这是我的jQuery代码
$(function() {
var province = $('#provinces');
var select = $('#selection');
var option = $('<option>');
$.ajax({
type: 'GET',
dataType: 'json',
url: 'http://dev.farizdotid.com/api/daerahindonesia/provinsi',
success: function(provinces) {
console.log(provinces);
var allProvince = provinces.semuaprovinsi;
$.each(allProvince, function (i, item) {
option.text(item.nama);
option.attr('value', item.id);
select.append(option);
});
}
});
});
它只显示数据的最后一个索引,即进入我的选择标签的索引号 33
这是我的选择标签
<select id="selection">
<option value=""></option>
</select>
我不知道,为什么我只得到 1 个数据
解决方案
您必须为每个选项创建新选项。否则修改相同。
$(function() {
var province = $("#provinces");
var select = $("#selection");
$.ajax({
type: "GET",
dataType: "json",
url: "http://dev.farizdotid.com/api/daerahindonesia/provinsi",
success: function(provinces) {
console.log(provinces);
var allProvince = provinces.semuaprovinsi;
$.each(allProvince, function(i, item) {
var option = $("<option>");
option.text(item.nama);
option.attr("value", item.id);
select.append(option);
});
}
});
});
$(function() {
var select = $("#selection");
$.ajax({
type: "GET",
dataType: "json",
url: "http://dev.farizdotid.com/api/daerahindonesia/provinsi",
success: function(provinces) {
var allProvince = provinces.semuaprovinsi;
$.each(allProvince, function(i, item) {
var option = $("<option>");
option.text(item.nama);
option.attr("value", item.id);
select.append(option);
});
}
});
});
**//Working sample**
<!DOCTYPE html>
<html lang="en">
<head>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.31.3/js/jquery.tablesorter.min.js"></script>
</head>
<body>
<select id="selection">
<option value=""></option>
</select>
</body>
</html>
推荐阅读
- java - 如何使用命令提示符运行包含 python 文件的 java jar
- java - ClimaCell API json 转换为 POJO
- c++ - C++无效使用非静态成员函数?
- python - 为特定日期创建具有给定动态公司名称的数据框
- java - 如何将计划任务分配给特定线程?
- c# - 在 Asp.Net Core 中使用 Swagger 在请求中未发送授权承载令牌
- datatable - 具有动态模型和列的 Primefaces 8.0 数据表
- python - 如何解压缩可能为空的“zip”结果?
- elasticsearch - ElasticSearch 何时执行刷新
- getelementsbyname - 为什么 document.getElementsByName().length 总是返回 0?