【发布时间】:2021-04-09 08:36:22
【问题描述】:
我是 JS 新手,我尝试从 JSON 文件传递值以填充下拉列表。我有一个如下所示的 JSON 文件:
var mydates = {
"2018": {
"January": ["week1","week2","week3","week4"],
"February": ["week5","week6","week7"],
"March": ["week8","week9","week11"]
},
"2019": {
"January": ["week1","week2","week3","week4"],
"February": ["week5","week6","week7"],
"March": ["week8","week10","week11"]
},
"2020": {
"January": ["week1","week2","week3","week4"],
"February": ["week5","week6","week7"],
"March": ["week8"]
}
}
我希望第一个下拉列表显示列出的年份,第二个下拉列表显示月份,最后一个下拉列表显示几周。
我想出了以下方法来填充 id 为“selectedyear”多年的下拉列表,并且效果很好:
years = []
for(var prop in mydates){
console.log(prop)
years.push(prop)}
var myyear = document.getElementById('selectedyear');
for(var i = 0; i < years.length; i++) {
var opt = document.createElement('option');
opt.innerHTML = years[i];
myyear.appendChild(opt);
}
现在我如何遍历 JSON 的第二级,以便 id 为“selectedmonth”的下拉菜单选项仅显示所选年份的月份,然后为 id 为“selectedweek”的下拉菜单显示星期对应选定的年月??
非常感谢您的帮助!
【问题讨论】:
-
您想一次显示 3 个下拉元素还是一个动态下拉列表?
-
一次三个下拉元素
标签: javascript json drop-down-menu