当前位置: 首页 > 面试题库 >

从JSON创建菜单

百里星纬
2023-03-14
问题内容

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

我将从JSON文件中获取条目并创建菜单项。在大规模尝试之前,我决定做一个小演示。这是我的小提琴,它按照我想要的方式工作。现在,我无法将其与JSON文件一起使用。

工作场所

这是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-> data …):

$(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/



 类似资料:
  • 后台菜单创建 一般我们的插件都会有后台管理的菜单,此时我们需要创建插件的后台管理菜单。以下是常用的方法。以下是Mydemo.php中的代码如下: <?php namespace addons\mydemo; use app\common\library\Menu; use app\common\model\User; use fast\Date; use think\Addons; use t

  • 我创建了一个新的菜单,它显示完美,但问题是选择,它把我发送到不存在的页面或帖子,问题,我想,......改变格式输出,我不知道我怎么能修好它。 我的代码: 显示完美的菜单下拉,但真正的问题是与URL启动从选定的菜单,这个URL显示空格和没有权利 感谢的问候!

  • 问题内容: 我想获得像这样的Hashtable的JSON表示形式: 结果是: 但是,如果将JSON字符串转换回去,则不会得到HashTable,而会得到PSCustomObject。 那么,如何可靠地序列化上述Hashmap? 问题答案: $json = @{Path=”C:\temp”; Filter=”*.js”} | ConvertTo-Json

  • 在本章中,我们将研究如何在Joomla中Create Menus分步过程。 菜单是重要的部分,有助于轻松浏览您的网站。 创建菜单 以下是在Joomla中创建菜单的几个简单步骤。 Step (1) - 单击Menus → Menu Manager → Add New Menu ,如下所示。 Step (2) - 单击“ Add New Menu ,将显示“ Menu Manager − Add Me

  • 问题内容: 我用来将Java对象序列化/反序列化为json。我想在中显示它,并且需要一个架构来做出更好的描述。这将允许我编辑对象并添加比实际更多的数据。 可以提供json模式吗? 是否有其他框架具有该功能? 问题答案: Gson库可能不包含类似的功能,但是您可以尝试使用Jackson库和jackson- module-jsonSchema 模块解决您的问题。例如,对于以下类别: 这个程序: 打印以

  • 问题内容: 从java中的json字符串创建哈希图? 我有喜欢的json字符串,想要转换为标准的Hashmap。 我该怎么做? 问题答案: 解析JSONObject并创建HashMap 测试输出: