我有一个要解析为的JSON obj,但是第二级未访问嵌套值。
如果第一个选择器仅具有一个详细信息值,例如“人对人”或“搜索引擎”,则它不会显示第二个选择器,而是将变量设置为唯一键的值。例如,如果我选择“人对人”,那么如果我选择“无线电”,它将变量值ANS设置为“ 50000001”,出现下一个选择器,如果我选择“喜剧”,它将变量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
});
答案 0 :(得分:0)
编辑更改功能。 您还可以看到更新的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>");
}
});