使用JSON和Fetch/Async Await将数据从数组/对象添加到HTML下拉菜单的步骤如下:
const cities = [
{ name: '北京', value: 'beijing' },
{ name: '上海', value: 'shanghai' },
{ name: '广州', value: 'guangzhou' },
{ name: '深圳', value: 'shenzhen' }
];
<select>
元素:<select id="citySelect"></select>
const citySelect = document.getElementById('citySelect');
fetch('data.json')
.then(response => response.json())
.then(data => {
// 在这里处理获取到的JSON数据
})
.catch(error => console.error(error));
forEach
方法遍历数据数组,并创建<option>
元素添加到下拉菜单中:fetch('data.json')
.then(response => response.json())
.then(data => {
data.forEach(city => {
const option = document.createElement('option');
option.value = city.value;
option.textContent = city.name;
citySelect.appendChild(option);
});
})
.catch(error => console.error(error));
DOMContentLoaded
事件处理程序中,或者将其放在<script>
标签中的页面底部。完整的示例代码如下:
<!DOCTYPE html>
<html>
<head>
<title>下拉菜单示例</title>
</head>
<body>
<select id="citySelect"></select>
<script>
document.addEventListener('DOMContentLoaded', () => {
const citySelect = document.getElementById('citySelect');
fetch('data.json')
.then(response => response.json())
.then(data => {
data.forEach(city => {
const option = document.createElement('option');
option.value = city.value;
option.textContent = city.name;
citySelect.appendChild(option);
});
})
.catch(error => console.error(error));
});
</script>
</body>
</html>
在这个示例中,我们使用了一个名为data.json
的本地JSON文件来存储城市数据。你可以根据实际情况修改数据源的URL或者使用其他方式获取JSON数据。
推荐的腾讯云相关产品:无
领取专属 10元无门槛券
手把手带您无忧上云