我的功能是测试页面是否在包含下拉菜单的页面列表中。如果是,请加载一组html,如果没有,则加载另一组。
如果它有一个菜单,我想迭代一组JSON数据并创建菜单项。我还没有开始迭代部分(我可以做)。问题是,我想使用变量来提取各种数据集。
所以this_menu获取页面一部分的类,拆分它们,并将第二个类作为变量。 (我添加了replace(),因为破折号导致了问题)。
后来,我尝试在对象中使用变量,但显然这不起作用。
所以,现在this_menu = danube_rhapsody
jq('.vacations').attr('class',function() {
var this_menu = jq(this).attr('class').split(' '),
this_menu = this_menu[1].replace('-','_');
has_menu = ['danube_rhapsody','danube_waltz','blue_danube'];
if (jq.inArray(this_menu,has_menu) != -1) {
jq('aside.call-to-action').load('call-to-action-menu.html', function() {
load_and_send();
});
jq.getJSON('menu-data.js',function(data) {
var test = data.menus.this_menu;
console.log(test);
});
} else {
jq('aside.call-to-action').load('call-to-action-NO-menu.html');
}
});
测试数据就在这里。
{
"menus": {
"danube_rhapsody" : {
"1" : {
"url" : "/cruises/cruise-package-RFERC3PK?packageid=RFERC3PK",
"title" : "10-night Eastern Mediterranean cruise, October 2, 2015"
}
}
}
}
我在这里缺少什么?
答案 0 :(得分:0)
好的,这个问题的答案是将变量包装在方括号中。
var test = data.menus[this_menu];
返回正确的数据。