繁体   English   中英

我在为下拉列表解析嵌套的 JSON 数组时遇到问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM