我在 JSON 檔案中有一個 JSON 陣列,如下所示:
{
"states": [
{
"state": "Andhra Pradesh",
"districts": [
"Anantapur",
"Chittoor",
"East Godavari",
"Guntur",
"Krishna",
"Kurnool",
"Nellore",
"Prakasam",
"Srikakulam",
"Visakhapatnam",
"Vizianagaram",
"West Godavari",
"YSR Kadapa"]
}
]
}
并且我能夠成功地將選擇元素中的所有狀態加載為依賴選擇選項。當我從一個選擇元素中選擇一個狀態時,它會在區域選擇元素中填充一個相關陣列。但不是顯示單獨選項的陣列,而是顯示為一個選項:

我應該以不同的格式修改我的 JSON 陣列嗎?
jQuery
$('#statePicker').on('change', function() {
$("#cityPicker").html('');
$.ajax({
url: "{{ asset('json/in-sc-list.json') }}",
type: "GET",
dataType: 'json',
success: function(res) {
$('#cityPicker').html('<option value="">Select City</option>');
$.each(res.states, function(key, value) {
if (value.state == $('#statePicker').val()) {
console.log(value.districts);
$("#cityPicker").append('<option value="' value
.districts '">' value.districts '</option>');
}
});
}
});
});
刀
<span>
<select id="statePicker" name="statePicker" required class="form-control"></select>
<select id="cityPicker" name="cityPicker" required class="form-control"></select>
</span>
uj5u.com熱心網友回復:
let statePicker = $('#statePicker').val();
let list = $("#cityPicker");
$.each(res.states, function(key, value) {
if (value.state == statePicker) {
$.each(items, function(item) {
list.append(new Option(item, item));
});
}
});
您需要回圈value.districts,因為它是一個陣列,而且您正在以一種骯臟的方式進行操作,您正在$("#cityPicker")對每個回圈進行初始化,如果串列項增加,這可能會在將來產生一些性能問題。
uj5u.com熱心網友回復:
你的資料結構很好。問題是您沒有創建多個選項元素,您只是創建一個。這部分已關閉:
$("#cityPicker").append('<option value="' value
.districts '">' value.districts '</option>');
}
您要做的是為每個區域創建一個選項元素,如下所示:
for (const district of value.districts) {
$("#cityPicker").append('<option value="' district '">' district '</option>');
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/470109.html
標籤:javascript php jQuery json 拉拉维尔
上一篇:按字串中的數字排序物件
