[英]I am having trouble parsing a nested JSON array for a dropdown
我有一个 JSON obj,我正在将其解析为 a,但是第二级没有访问嵌套值。
如果第一个选择器只有一个详细信息值,例如“Person to Person”或“Search Engine”,那么它不会显示第二个选择器,而是将变量设置为其唯一键的值。 例如,如果我选择“person to Person”,那么如果我选择“Radio”,它会将变量值 ANS 设置为“50000001”,则会出现下一个选择器,如果我选择“Comedy”,它将变量 ANS 设置为 10000001。
我为此创建了一个 CodePen: https ://codepen.io/SimplyMarkB/pen/PoqpBEZ
let sources = [{
"Radio" : {
"Comedy" : "10000001",
"News" : "10000002",
"Music" : "10000003",
"Talk" : "10000004",
"Entertainment" : "10000005",
"Religious" : "10000006"
},
"Direct Mail" : {
"Direct Mail" : "30000001"
},
"Search Engine" : {
"Search Engine" : "20000001"
},
"Person to Person" : {
"Local Bars" : "50000001"
}
}]
var media = "";
var ANS = "";
sources.forEach(obj => {
Object.entries(obj).forEach(([key, value]) => {
$("#categoryType").append("<option class='rsource' value='"+key+"'>"+key+"</option>");
});
});
$("#categoryType").change(function(){
$("#itemsources").show()
var selValue = $(this).val();
// some obj filter based on selValue and populate the select with a value & key
});
编辑您的更改功能。 您还可以看到更新的 codepen: https ://codepen.io/harshbaba/pen/wvaJYMR
$("#categoryType").change(function(){
$("#itemsources").show();
$("#itemsource").empty();
$("#itemsource").append("<option>Select Detail</option>");
var selValue = $(this).val();
var data = sources[0][selValue];
for(item in data){
$("#itemsource").append("<option class='isource' value='"+item+"'>"+item+"
</option>");
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.