Javascript cities.statename.data生成错误无法读取属性';数据';在Object.city处未定义的

Javascript cities.statename.data生成错误无法读取属性';数据';在Object.city处未定义的,javascript,jquery,html,Javascript,Jquery,Html,无法读取Object.city上未定义的属性“data” 问题是,当我编写cities.UP.data时,它会显示正确的结果,当我在此处添加cities.statename.data时,它会动态调用state,当我选择任何状态时,state name会动态生成 person.details.getInfo.city($(this.val()); 城市:功能(州名称) 变量状态=['UP'、'MP'、'MH'、'DL']; var城市={ “向上”:{ 数据:['allahabad','kanp

无法读取Object.city上未定义的属性“data”

问题是,当我编写cities.UP.data时,它会显示正确的结果,当我在此处添加cities.statename.data时,它会动态调用state,当我选择任何状态时,state name会动态生成

person.details.getInfo.city($(this.val());
城市:功能(州名称)


变量状态=['UP'、'MP'、'MH'、'DL'];
var城市={
“向上”:{
数据:['allahabad','kanpur','luckhnow']
},
“议员”:{
数据:['Bhopal','Jhansi','Gwalior']
}
};
可变区=[
alld=['kr','kp','mu']
];
个人变量={
名字:“约翰”,
姓:“Doe”,
年龄:50,,
眼睛颜色:“蓝色”,
详情:{
获取信息:{
状态:函数()
{
return document.getElementById(“slectstate”).innerHTML=printHtmlAttr.option(states);
},
城市:功能(州名称)
{
statename=statename.trim();
console.log(statename);
return document.getElementById(“slectstate2”).innerHTML=printHtmlAttr.option(cities.statename.data);
},
地区:功能区(城市)
{
},
}
}
}
var printHtmlAttr={
选项:功能(val)
{ 
var选项='choose';
$。每个(val,函数(e,v){
选项=选项+“”+v+“”;
});
返回选项;
}
}
$(文档).ready(函数(){
person.details.getInfo.state();
$(“body”)。关于(“change”,“#slectstate”,function(){
person.details.getInfo.city($(this.val());
});
});

我认为在这一行中,您要做的是在城市中引用statename

return document.getElementById("slectstate2").innerHTML = printHtmlAttr.option(cities.statename.data);
这将抛出错误

试试下面的一个

return document.getElementById("slectstate2").innerHTML = printHtmlAttr.option(cities[statename].data);

我想在这行中,你要做的是在城市中引用statename

return document.getElementById("slectstate2").innerHTML = printHtmlAttr.option(cities.statename.data);
这将抛出错误

试试下面的一个

return document.getElementById("slectstate2").innerHTML = printHtmlAttr.option(cities[statename].data);