gpt4 book ai didi

javascript - 从 JSON 创建菜单

转载 作者:搜寻专家 更新时间:2023-11-01 04:57:24 24 4
gpt4 key购买 nike

我正在尝试使用 jQuery UI 创建一个动态菜单。

我将从 JSON 文件中获取条目并创建我的菜单项。我决定先做一个小演示,然后再进行更大规模的尝试。这是我的 fiddle ,它按照我希望的方式工作。现在我无法让它与 JSON 文件一起使用。

WORKING FIDDLE

这是JSON

var JSON = 
{
menu:
[
{name: 'Croatia', link: '0', sub: null},
{name: 'England', link: '1', sub:
[
{name: 'Arsenal',link: '0-0', sub: null},
{name: 'Liverpool',link: '0-1', sub: null},
{name: 'Manchester United',link: '0-2', sub: null}
]
},
{name: 'Spain', link: '2', sub:
[
{name: 'Barcelona',link: '2-0', sub: null},
{name: 'Real Madrid',link: '2-1', sub: null}
]
},
{name: 'Germany', link: '3',sub:
[
{name: 'Bayern Munich',link: '3-1', sub: null},
{name: 'Borrusia Dortmund',link: '3-2', sub: null}
]
}
]
}

我如何使用 JSON 中的值设计我的整个菜单,其中 Li 的值如下所示。

<li><a href="#3-2">Borrusia Dortmund</a>
</li>

编辑: 这个问题听起来好像我什么都没试过,但我试过了。它只是我无法理解的 JSON 部分,Jsfiddle 无法正确读取它。我想知道我的 jSON 格式是否正确。任何帮助将不胜感激

最佳答案

只需迭代您的 JSON.menu 数组并从中生成菜单(重命名为 JSON -> 数据 ...):

$(function () {
var getMenuItem = function (itemData) {
var item = $("<li>")
.append(
$("<a>", {
href: '#' + itemData.link,
html: itemData.name
}));
if (itemData.sub) {
var subList = $("<ul>");
$.each(itemData.sub, function () {
subList.append(getMenuItem(this));
});
item.append(subList);
}
return item;
};

var $menu = $("#menu");
$.each(data.menu, function () {
$menu.append(
getMenuItem(this)
);
});
$menu.menu();
});

http://jsfiddle.net/9uhc3/5/

关于javascript - 从 JSON 创建菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19003285/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com