Javascript 包含Json数据的下拉框

Javascript 包含Json数据的下拉框,javascript,jquery,html,json,drop-down-menu,Javascript,Jquery,Html,Json,Drop Down Menu,我试图使用jquery用以下JSON数据填充下拉框 { "Name":["A","B","C"], "Movie":["X","Y","Z"] } 这就是我到目前为止所做的脚本 $("#firstbox").change(function(){ var $selection=$(this); $.getJSON("data.json",function(data){ var i=$selection.val(); var

我试图使用jquery用以下JSON数据填充下拉框

    {
     "Name":["A","B","C"],
     "Movie":["X","Y","Z"]
    }
这就是我到目前为止所做的脚本

   $("#firstbox").change(function(){
    var $selection=$(this);

   $.getJSON("data.json",function(data){
    var i=$selection.val();
    var arr=[];

    switch(i){
        case 'Name':
            arr=data.Name.split(",");
            break;
        case 'Movie':
            arr=data.Movie.split(",");
            break;
    }       

    });

    });
我的基本index.html就是这样

   <select id="firstbox">
            <option selected value="">---Select---</option> 
            <option value="Name">Name</option>
            <option value="Movie">Movie</option>
   </select>

   <select id="secondbox" name="">
            <option selected value="">---Generate---</option>
            <script src="myjs.js"> </script>
   </select>

---选择--
名称
电影
---产生---
“secondbox”下拉列表应生成与“firstbox”下拉列表选择相对应的值。我收到的错误是“未定义拆分函数”。谁能给我一个提示吗


感谢

拆分
字符串
对象的一种方法,这里您可以在
数组
对象上使用它。 您不需要拆分,因为名称和电影键是JSON对象中的allready数组

$("#firstbox").on("change", function(e){
    var sel=$(this).val(); 
    $("#secondbox").empty();
    $.getJSON("data.json",function(data){
        var values=data[sel] || ['Error : key not found'];
        $(values).each(function(index,element) {
             $("<option />", {value: element, text:element}).appendTo("#secondbox"); 
         });
    });
 });
$(“#firstbox”)。关于(“更改”,函数(e){
var sel=$(this.val();
$(“#secondbox”).empty();
$.getJSON(“data.json”),函数(数据){
变量值=数据[sel]| |['错误:找不到键'];
$(值)。每个(函数(索引、元素){
$(“”,{value:element,text:element});
});
});
});
下面是一个工作示例:

$(“#firstbox”)。关于(“更改”,函数(e){
writeOptions();
}
函数getJSONData(firstboxval){
//进行ajax调用以获取第二个下拉列表的数据
//对应于在firstbox中选择的值
//然后使函数返回选项数组
}
函数writeOptions(){
var firstboxval=$(“#firstbox”).val();
var optionValues=getJSONData(firstboxval);
var dropDown=document.getElementById(“secondbox”);
对于(var i=0;i
$("#firstbox").on("change", function(e){
 writeOptions();
}

function getJSONData(firstboxval) {
  //make ajax call to get data for second dropdown 
  //that corresponds to the value selected in firstbox 
  //then make function return the array of options
}

function writeOptions() {   
   var firstboxval = $("#firstbox").val();
   var optionValues = getJSONData(firstboxval);
   var dropDown = document.getElementById("secondbox");

   for(var i=0; i<optionValues.length; i++) {
       var key = i;
       var value = optionValues[i];
       dropDown.options[i] = new Option(value, key);
    }
}